commit-hurd
[Top][All Lists]
Advanced

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

[SCM] glibc maintenance branch, baseline-2.26, created. glibc-2.23-2122-


From: Samuel Thibault
Subject: [SCM] glibc maintenance branch, baseline-2.26, created. glibc-2.23-2122-g854baea
Date: Wed, 2 Aug 2017 17:47:33 -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.26 has been created
        at  854baea9b75a4126baf01bad64b27dbbb9c78f46 (commit)

- Log -----------------------------------------------------------------
commit 854baea9b75a4126baf01bad64b27dbbb9c78f46
Merge: da3549c 1c9a5c2
Author: Samuel Thibault <address@hidden>
Date:   Wed Aug 2 23:46:55 2017 +0200

    Merge tag 'glibc-2.26' into baseline-2.26
    
    FROM: Siddhesh Poyarekar <address@hidden>
    SUBJECT: The GNU C Library version 2.26 is now available
    
    The GNU C Library
    =================
    
    The GNU C Library version 2.26 is now available.
    
    The GNU C Library is used as *the* C library in the GNU system and
    in GNU/Linux systems, as well as many other systems that use Linux
    as the kernel.
    
    The GNU C Library is primarily designed to be a portable
    and high performance C library.  It follows all relevant
    standards including ISO C11 and POSIX.1-2008.  It is also
    internationalized and has one of the most complete
    internationalization interfaces known.
    
    The GNU C Library webpage is at http://www.gnu.org/software/libc/
    
    Packages for the 2.26 release may be downloaded from:
            http://ftpmirror.gnu.org/libc/
            http://ftp.gnu.org/gnu/libc/
    
    The mirror list is at http://www.gnu.org/order/ftp.html
    
    NEWS for version 2.26
    =====================
    
    Major new features:
    
    * A per-thread cache has been added to malloc. Access to the cache requires
      no locks and therefore significantly accelerates the fast path to allocate
      and free small amounts of memory. Refilling an empty cache requires 
locking
      the underlying arena. Performance measurements show significant gains in a
      wide variety of user workloads. Workloads were captured using a special
      instrumented malloc and analyzed with a malloc simulator. Contributed by
      DJ Delorie with the help of Florian Weimer, and Carlos O'Donell.
    
    * Unicode 10.0.0 Support: Character encoding, character type info, and
      transliteration tables are all updated to Unicode 10.0.0, using
      generator scripts contributed by Mike FABIAN (Red Hat).
      These updates cause user visible changes, especially the changes in
      wcwidth for many emoji characters cause problems when emoji sequences
      are rendered with pango, see for example:
      https://bugzilla.gnome.org/show_bug.cgi?id=780669#c5
    
    * Collation of Hungarian has been overhauled and is now consistent with "The
      Rules of Hungarian Orthography, 12th edition" (Bug 18934).  Contributed by
      Egmont Koblinger.
    
    * Improvements to the DNS stub resolver, contributed by Florian Weimer:
    
      - The GNU C Library will now detect when /etc/resolv.conf has been
        modified and reload the changed configuration.  The new resolver option
        “no-reload” (RES_NORELOAD) disables this behavior.
    
      - The GNU C Library now supports an arbitrary number of search domains
        (configured using the “search” directive in /etc/resolv.conf);
        previously, there was a hard limit of six domains.  For backward
        compatibility, applications that directly modify the ‘_res’ global
        object are still limited to six search domains.
    
      - When the “rotate” (RES_ROTATE) resolver option is active, the GNU C
        Library will now randomly pick a name server from the configuration as a
        starting point.  (Previously, the second name server was always used.)
    
    * The tunables feature is now enabled by default.  This allows users to 
tweak
      behavior of the GNU C Library using the GLIBC_TUNABLES environment 
variable.
    
    * New function reallocarray, which resizes an allocated block (like realloc)
      to the product of two sizes, with a guaranteed clean failure upon integer
      overflow in the multiplication.  Originally from OpenBSD, contributed by
      Dennis Wölfing and Rüdiger Sonderfeld.
    
    * New wrappers for the Linux-specific system calls preadv2 and pwritev2.
      These are extended versions of preadv and pwritev, respectively, taking an
      additional flags argument.  The set of supported flags depends on the
      running kernel; full support currently requires kernel 4.7 or later.
    
    * posix_spawnattr_setflags now supports the flag POSIX_SPAWN_SETSID, to
      create a new session ID for the spawned process.  This feature is
      scheduled to be added to the next major revision of POSIX; for the time
      being, it is available under _GNU_SOURCE.
    
    * errno.h is now safe to use from C-preprocessed assembly language on all
      supported operating systems.  In this context, it will only define the
      Exxxx constants, as preprocessor macros expanding to integer literals.
    
    * On ia64, powerpc64le, x86-32, and x86-64, the math library now implements
      128-bit floating point as defined by ISO/IEC/IEEE 60559:2011 (IEEE
      754-2008) and ISO/IEC TS 18661-3:2015.  Contributed by Paul E. Murphy,
      Gabriel F. T. Gomes, Tulio Magno Quites Machado Filho, and Joseph Myers.
    
      To compile programs that use this feature, the compiler must support
      128-bit floating point with the type name _Float128 (as defined by TS
      18661-3) or __float128 (the nonstandard name used by GCC for C++, and for
      C prior to version 7).  _GNU_SOURCE or __STDC_WANT_IEC_60559_TYPES_EXT__
      must be defined to make the new interfaces visible.
    
      The new functions and macros correspond to those present for other
      floating-point types (except for a few obsolescent interfaces not
      supported for the new type), with F128 or f128 suffixes; for example,
      strtof128, HUGE_VAL_F128 and cosf128.  Following TS 18661-3, there are no
      printf or scanf formats for the new type; the strfromf128 and strtof128
      interfaces should be used instead.
    
    Deprecated and removed features, and other changes affecting compatibility:
    
    * The synchronization that pthread_spin_unlock performs has been changed to
      now be equivalent to a C11 atomic store with release memory order to the
      spin lock's memory location.  Previously, several (but not all)
      architectures used stronger synchronization (e.g., containing what is
      often called a full barrier).  This change can improve performance, but
      may affect odd fringe uses of spin locks that depend on the previous
      behavior (e.g., using spin locks as atomic variables to try to implement
      Dekker's mutual exclusion algorithm).
    
    * The port to Native Client running on ARMv7-A (--host=arm-nacl) has been
      removed.
    
    * Sun RPC is deprecated.  The rpcgen program, librpcsvc, and Sun RPC headers
      will only be built and installed when the GNU C Library is configured with
      --enable-obsolete-rpc.  This allows alternative RPC implementations, such
      as TIRPC or rpcsvc-proto, to be used.
    
    * The NIS(+) name service modules, libnss_nis, libnss_nisplus, and
      libnss_compat, are deprecated, and will not be built or installed by
      default.
    
      The NIS(+) support library, libnsl, is also deprecated.  By default, a
      compatibility shared library will be built and installed, but not headers
      or development libraries. Only a few NIS-related programs require this
      library.  (In particular, the GNU C Library has never required programs
      that use 'gethostbyname' to be linked with libnsl.)
    
      Replacement implementations based on TIRPC, which additionally support
      IPv6, are available from <https://github.com/thkukuk/>.  The configure
      option --enable-obsolete-nsl will cause libnsl's headers, and the NIS(+)
      name service modules, to be built and installed.
    
    * The DNS stub resolver no longer performs EDNS fallback.  If EDNS or DNSSEC
      support is enabled, the configured recursive resolver must support EDNS.
      (Responding to EDNS-enabled queries with responses which are not
      EDNS-enabled is fine, but FORMERR responses are not.)
    
    * res_mkquery and res_nmkquery no longer support the IQUERY opcode.  DNS
      servers have not supported this opcode for a long time.
    
    * The _res_opcodes variable has been removed from libresolv.  It had been
      exported by accident.
    
    * <string.h> no longer includes inline versions of any string functions,
      as this kind of optimization is better done by the compiler.  The macros
      __USE_STRING_INLINES and __NO_STRING_INLINES no longer have any effect.
    
    * The nonstandard header <xlocale.h> has been removed.  Most programs should
      use <locale.h> instead.  If you have a specific need for the definition of
      locale_t with no other declarations, please contact
      address@hidden and explain.
    
    * The obsolete header <sys/ultrasound.h> has been removed.
    
    * The obsolete signal constant SIGUNUSED is no longer defined by <signal.h>.
    
    * The obsolete function cfree has been removed.  Applications should use
      free instead.
    
    * The stack_t type no longer has the name struct sigaltstack.  This changes
      the C++ name mangling for interfaces involving this type.
    
    * The ucontext_t type no longer has the name struct ucontext.  This changes
      the C++ name mangling for interfaces involving this type.
    
    * On M68k GNU/Linux and MIPS GNU/Linux, the fpregset_t type no longer has
      the name struct fpregset.  On Nios II GNU/Linux, the mcontext_t type no
      longer has the name struct mcontext.  On SPARC GNU/Linux, the struct
      mc_fq, struct rwindow, struct fpq and struct fq types are no longer
      defined in sys/ucontext.h, the mc_fpu_t type no longer has the name struct
      mc_fpu, the gwindows_t type no longer has the name struct gwindows and the
      fpregset_t type no longer has the name struct fpu.  This changes the C++
      name mangling for interfaces involving those types.
    
    * On S/390 GNU/Linux, the constants defined by <sys/ptrace.h> have been
      synced with the kernel:
    
        - PTRACE_GETREGS, PTRACE_SETREGS, PTRACE_GETFPREGS and PTRACE_SETFPREGS
          are not supported on this architecture and have been removed.
    
        - PTRACE_SINGLEBLOCK, PTRACE_SECCOMP_GET_FILTER, PTRACE_PEEKUSR_AREA,
          PTRACE_POKEUSR_AREA, PTRACE_GET_LAST_BREAK, PTRACE_ENABLE_TE,
          PTRACE_DISABLE_TE and PTRACE_TE_ABORT_RAND have been added.
    
      Programs that assume the GET/SETREGS ptrace requests are universally
      available will now fail to build, instead of malfunctioning at runtime.
    
    Changes to build and runtime requirements:
    
    * Linux kernel 3.2 or later is required at runtime, on all architectures
      supported by that kernel.  (This is a change from version 2.25 only for
      x86-32 and x86-64.)
    
    * GNU Binutils 2.25 or later is now required to build the GNU C Library.
    
    * On most architectures, GCC 4.9 or later is required to build the GNU C
      Library.  On powerpc64le, GCC 6.2 or later is required.
    
      Older GCC versions and non-GNU compilers are still supported when
      compiling programs that use the GNU C Library.  (We do not know exactly
      how old, and some GNU extensions to C may be _de facto_ required.  If you
      are interested in helping us make this statement less vague, please
      contact address@hidden)
    
    Security related changes:
    
    * The DNS stub resolver limits the advertised UDP buffer size to 1200 bytes,
      to avoid fragmentation-based spoofing attacks (CVE-2017-12132).
    
    * LD_LIBRARY_PATH is now ignored in binaries running in privileged AT_SECURE
      mode to guard against local privilege escalation attacks 
(CVE-2017-1000366).
    
    * Avoid printing a backtrace from the __stack_chk_fail function since it is
      called on a corrupt stack and a backtrace is unreliable on a corrupt stack
      (CVE-2010-3192).
    
    * A use-after-free vulnerability in clntudp_call in the Sun RPC system has 
been
      fixed (CVE-2017-12133).
    
    Contributors
    ============
    
    This release was made possible by the contributions of many people.
    The maintainers are grateful to everyone who has contributed
    changes or bug reports.  These include:
    
    Adhemerval Zanella
    Akhilesh Kumar
    Alan Modra
    Alexey Neyman
    Andreas Schwab
    Arjun Shankar
    Benjamin Cama
    Carlos O'Donell
    Chris Leonard
    Christian Borntraeger
    Christian Brauner
    Christopher Chittleborough
    Chung-Lin Tang
    DJ Delorie
    Dennis Wölfing
    Dmitry Bilunov
    Dmitry V. Levin
    Egmont Koblinger
    Eyolf Østrem
    Florian Weimer
    Gabriel F. T. Gomes
    Gordana Cmiljanovic
    H.J. Lu
    Ihar Hrachyshka
    Ivo Raisr
    Jiong Wang
    John David Anglin
    Joseph Myers
    Justus Winter
    Kir Kolyshkin
    Marko Myllynen
    Massimeddu Cireddu
    Matthew Krupcale
    Mike FABIAN
    Mike Frysinger
    Mousa Moradi
    Nathan Rossi
    Paul Clarke
    Paul E. Murphy
    Paul Eggert
    Peng Wu
    Phil Blundell
    Prakhar Bahuguna
    Rabin Vincent
    Rafal Luzynski
    Rajalakshmi Srinivasaraghavan
    Rical Jasan
    Rogerio A. Cardoso
    Samuel Thibault
    Santhosh Thottingal
    Siddhesh Poyarekar
    Slava Barinov
    Stefan Liebler
    Steve Ellcey
    Sunyeop Lee
    Szabolcs Nagy
    Thorsten Kukuk
    Tulio Magno Quites Machado Filho
    Uros Bizjak
    Vladimir Mezentsev
    Wainer dos Santos Moschetta
    Wilco Dijkstra
    Wladimir J. van der Laan
    Yury Norov
    Zack Weinberg

commit 1c9a5c270d8b66f30dcfaf1cb2d6cf39d3e18369
Author: Siddhesh Poyarekar <address@hidden>
Date:   Wed Aug 2 18:27:16 2017 +0530

    Update for 2.26 release

commit 15192aaa252afddb97413812e32eaea80c55af19
Author: Siddhesh Poyarekar <address@hidden>
Date:   Wed Aug 2 18:22:58 2017 +0530

    Update contributors and latest gcc and binutils versions

commit 4d9a5c60e17a4a621551577bbdfd0893cf2bccb0
Author: Siddhesh Poyarekar <address@hidden>
Date:   Wed Aug 2 13:34:13 2017 +0530

    Fix up ChangeLog formatting

commit e061bd177101f87a45b988d685026048dfa97ee8
Author: Siddhesh Poyarekar <address@hidden>
Date:   Wed Aug 2 08:26:45 2017 +0530

    Add list of bugs fixed in 2.26

commit 9938cc545d115b2ab229aa3c620c1b58c7061080
Author: Siddhesh Poyarekar <address@hidden>
Date:   Wed Aug 2 08:07:58 2017 +0530

    Update translations

commit e1113af30df05da38449d5a5ca3ca4decca451f9
Author: Siddhesh Poyarekar <address@hidden>
Date:   Wed Aug 2 08:07:16 2017 +0530

    Update NEWS

commit 930324b356778b985d26f30fd0386163852a35fe
Author: Siddhesh Poyarekar <address@hidden>
Date:   Mon Jul 31 00:13:08 2017 +0530

    Update translations

commit 5920a4a624b1f4db310d1c44997b640e2a4653e5
Author: Carlos O'Donell <address@hidden>
Date:   Sat Jul 29 00:02:03 2017 -0400

    mutex: Fix robust mutex lock acquire (Bug 21778)
    
    65810f0ef05e8c9e333f17a44e77808b163ca298 fixed a robust mutex bug but
    introduced BZ 21778: if the CAS used to try to acquire a lock fails, the
    expected value is not updated, which breaks other cases in the loce
    acquisition loop.  The fix is to simply update the expected value with
    the value returned by the CAS, which ensures that behavior is as if the
    first case with the CAS never happened (if the CAS fails).
    
    This is a regression introduced in the last release.
    
    Tested on x86_64, i686, ppc64, ppc64le, s390x, aarch64, armv7hl.

commit d95fcb2df478efbf4f8537ba898374043ac4561f
Author: Nathan Rossi <address@hidden>
Date:   Fri Jul 28 09:21:14 2017 -0300

    microblaze: Resolve non-relocatable branch in pt-vfork.S (BZ#21779)
    
    The relative branch directly to __libc_vfork results in an relocation
    that cannot be resolved. Specifically a R_MICROBLAZE_64_PCREL relocation
    is created for this branch, however for MicroBlaze R_MICROBLAZE_64_PCREL
    type relocations symbols are not resolved. Additionally due to the
    branch being located in the .text section the instruction cannot be
    rewritten as the section is not writable, and causes a segfault at
    runtime when loading libpthread.
    
    To resolve this issue, ensure the branch is done using PLT. This removes
    the need to modify the instruction and trades the R_MICROBLAZE_64_PCREL
    for a more common R_MICROBLAZE_JUMP via the PLT.
    
        [BZ #21779]
        * sysdeps/unix/sysv/linux/microblaze/pt-vfork.S: Branch using PLT.

commit 0aab054a92d5b49723ba5343bc1bc2475a289c95
Author: Nathan Rossi <address@hidden>
Date:   Fri Jul 28 09:19:40 2017 -0300

    Update Microblaze libm-test-ulps
    
        * sysdeps/microblaze/libm-test-ulps: Update.

commit d4550bd0029df0ce8c853ec9ad40e1e5586ae4da
Author: Chung-Lin Tang <address@hidden>
Date:   Fri Jul 28 03:54:35 2017 -0700

    Update Nios II ULPs file.

commit faf8c066df0d6bccb54bd74dd696eeb65e1b3bbc
Author: Carlos O'Donell <address@hidden>
Date:   Fri Jul 28 00:22:44 2017 -0400

    rwlock: Fix explicit hand-over (bug 21298)
    
    Without this fix, the rwlock can fail to execute the explicit hand-over
    in certain cases (e.g., empty critical sections that switch quickly between
    read and write phases).  This can then lead to errors in how __wrphase_futex
    is accessed, which in turn can lead to deadlocks.

commit 2557ae38f3aa599718f34317cd0c150892a92be5
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Jul 27 14:21:28 2017 -0300

    Update Alpha libm-test-ulps
    
        * sysdeps/alpha/fpu/libm-test-ulps: Update.

commit 10b8eb8fcc613b26bba17c5cd67691b409b9a608
Author: Akhilesh Kumar <address@hidden>
Date:   Thu Jul 27 15:59:25 2017 +0530

    Fix country name in title of mai_NP locale
    
        [BZ #21848]
        * locales/mai_NP (LC_IDENTIFICATION): Fix country name in title.

commit 551d64b2d7e7f84f18dfa619c6e93a884127fd13
Author: Ihar Hrachyshka <address@hidden>
Date:   Thu Jul 27 11:44:40 2017 +0200

    Improve country_name in address@hidden

commit c5527d7ddcfc1fbd7a129679580cf5d5e0b52ff5
Author: Mike FABIAN <address@hidden>
Date:   Thu Jul 27 11:04:38 2017 +0200

    Minor improvements to new az_IR locale
    
        * locales/az_IR (LC_MESSAGES): Improve yesexpr and noexpr.
        * locales/az_IR (LC_ADDRESS): Fix typo in comment  and
        use the individual iso-639-3 code for South Azerbaijani
        "azb" in lang_term.
        * locales/az_IR (LC_NAME): Improve readability of name_fmt in source.

commit 30c0c707f7bcdbb4454bf540bb58cc9acd3b226f
Author: Mousa Moradi <address@hidden>
Date:   Thu Jul 27 10:41:21 2017 +0200

    Add new az_IR locale
    
        [BZ #14172]
        * locales/az_IR: New file.

commit 9e17c7aee3c63479f016c9917f26a27c0e40d9a5
Author: Akhilesh Kumar <address@hidden>
Date:   Thu Jul 27 10:10:57 2017 +0200

    Fix wrong monetary system used in ta_LK locale
    
        [BZ #21839]
        * locales/ta_LK (LC_MONETARY): copy "si_LK"

commit d3675d957b9427d4d119250514a25aaba78d26de
Author: Rical Jasan <address@hidden>
Date:   Tue Jun 20 06:39:27 2017 -0700

    manual: Refactor documentation of CHAR_BIT.
    
    This address@hidden @table is better defined with @deftypevr, since the
    CHAR_BIT macro has @standards (being declared in a header), and @items
    in @tables are not considered annotatable.  Using @deftypevr
    automatically includes the macro in the Variable and Constant Macro
    Index and ensures its inclusion the Summary of Library Facilities.
    @deftypevr is used to record the type of the macro so that it also
    appears in the Summary.
    
    The description is updated to mention a later POSIX requirement that
    this macro have the value 8.
    
        * manual/lang.texi (CHAR_BIT): Convert from an @table to an
        @deftypevr.  Change standard from ISO to C90.  Mention the
        POSIX.1-2001 requirement of the value 8.

commit 88f9e739432dc950b1f28638158d6dbb1ebd0361
Author: Rical Jasan <address@hidden>
Date:   Thu Jul 27 03:16:46 2017 -0700

    manual: Complete @standards in creature.texi.
    
        * manual/creature.texi (_REENTRANT): Annotate as obsolete.
        (_THREAD_SAFE): Likewise.

commit 3632e5912b16421bea6415ff4d98c5039adc3e3c
Author: Mike FABIAN <address@hidden>
Date:   Thu Jul 27 09:33:56 2017 +0200

    Fix country_name in nds_NL

commit 90880d384c28bf0ad865fd9ab27084b310855218
Author: Akhilesh Kumar <address@hidden>
Date:   Thu Jul 27 08:48:04 2017 +0530

    Fix Latin characters and month sequence in mai_IN
    
    Fixes [BZ #21822] with commit id 832f8e048773da9aac99cd1ee57f2ccbd40860f6
    
        [BZ #21844]
        * locales/mai_IN (LC_TIME): Fix Latin characters and month sequence.

commit 1086114ba13645c7d97b3387338f3d88865869ad
Author: Mike FABIAN <address@hidden>
Date:   Wed Jul 26 20:53:38 2017 +0200

    Revert "Remove redundant data for LC_MONETARY for Indian locales"
    
    This reverts commit 480af555f35201a646531cfd7c68a58905edba90.
    
        Revert:
        2017-07-26  Akhilesh Kumar <address@hidden>
    
        Remove redundant data for LC_MONETARY
    
        [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/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 ec1cff5a6b2bbb86eb8cfa6675594a977751f601
Author: Mike FABIAN <address@hidden>
Date:   Wed Jul 26 16:46:26 2017 +0200

    Remove erroneous spaces from some strings in locale files
    
        * locales/hif_FJ (LC_TIME): Remove erroneous spaces from d_t_fmt.
        * locales/km_KH (LC_TIME): Remove erroneous space from d_t_fmt.
        * locales/sm_WS (LC_TIME): Remove erroneous spaces from day.

commit 7a7a7d2c16fb9dbd9b1ae136dd4de28a7a8398e3
Author: Mike FABIAN <address@hidden>
Date:   Wed Jul 26 14:47:18 2017 +0200

    Remove erroneous tabs from some strings in locale files
    
        * locales/et_EE (LC_ADDRESS): Remove tabs in postal_fmt.
        * locales/hif_FJ (LC_TIME): Remove tabs in t_fmt_ampm.
        * locales/hif_FJ (LC_NAME): Remove tabs in name_fmt.

commit 890472957cea22f14661522ac12e423b927cf40a
Author: Mike FABIAN <address@hidden>
Date:   Wed Jul 26 14:30:08 2017 +0200

    Fix inappropriate characters in LC_IDENTIFICATION in several locales
    
    Found using the script check-localedef.py by Zack Weinberg.
    
        * locales/agr_PE (LC_IDENTIFICATION): Fix inappropriate character.
        * locales/an_ES (LC_IDENTIFICATION): Fix inappropriate character.
        * locales/gv_GB (LC_IDENTIFICATION): Fix inappropriate character.
        * locales/kw_GB (LC_IDENTIFICATION): Fix inappropriate character.
        * locales/ln_CD (LC_IDENTIFICATION): Fix inappropriate character.
        * locales/nb_NO (LC_IDENTIFICATION): Fix inappropriate character.
        * locales/pap_CW (LC_IDENTIFICATION): Fix inappropriate character.
        * locales/se_NO (LC_IDENTIFICATION): Fix inappropriate character.
        * locales/sgs_LT (LC_IDENTIFICATION): Fix inappropriate character.

commit 95fe8c477f4fb9b6880bb93c2f6a7eec81fdbe5d
Author: Mike FABIAN <address@hidden>
Date:   Wed Jul 26 13:37:17 2017 +0200

    Fix inappropriate escape sequences in LC_IDENTIFICATION in several locales
    
    Found using the script check-localedef.py by Zack Weinberg.
    
        * locales/aa_DJ (LC_IDENTIFICATION): Fix inappropriate escape sequence.
        * locales/aa_ER (LC_IDENTIFICATION): Fix inappropriate escape sequence.
        * locales/aa_ET (LC_IDENTIFICATION): Fix inappropriate escape sequence.
        * locales/ak_GH (LC_IDENTIFICATION): Fix inappropriate escape sequence.
        * locales/bn_BD (LC_IDENTIFICATION): Fix inappropriate escape sequence.
        * locales/de_IT (LC_IDENTIFICATION): Fix inappropriate escape sequence.
        * locales/es_CU (LC_IDENTIFICATION): Fix inappropriate escape sequence.
        * locales/gd_GB (LC_IDENTIFICATION): Fix inappropriate escape sequence.
        * locales/gl_ES (LC_IDENTIFICATION): Fix inappropriate escape sequence.
        * locales/he_IL (LC_IDENTIFICATION): Fix inappropriate escape sequence.
        * locales/hr_HR (LC_IDENTIFICATION): Fix inappropriate escape sequence.
        * locales/ht_HT (LC_IDENTIFICATION): Fix inappropriate escape sequence.
        * locales/hy_AM (LC_IDENTIFICATION): Fix inappropriate escape sequence.
        * locales/lg_UG (LC_IDENTIFICATION): Fix inappropriate escape sequence.
        * locales/mai_IN (LC_IDENTIFICATION): Fix inappropriate escape sequence.
        * locales/mg_MG (LC_IDENTIFICATION): Fix inappropriate escape sequence.
        * locales/pl_PL (LC_IDENTIFICATION): Fix inappropriate escape sequence.
        * locales/quz_PE (LC_IDENTIFICATION): Fix inappropriate escape sequence.
        * locales/se_NO (LC_IDENTIFICATION): Fix inappropriate escape sequence.
        * locales/sl_SI (LC_IDENTIFICATION): Fix inappropriate escape sequence.
        * locales/ta_LK (LC_IDENTIFICATION): Fix inappropriate escape sequence.

commit 1ac85c13b0974767f70027c255f41b041a274333
Author: Rafal Luzynski <address@hidden>
Date:   Wed Jul 26 01:44:02 2017 +0200

    Indian scripts: More fixes after the recent import.
    
    After the recent import of month names from CLDRv31 (bug 21217,
    commit c853f14) an import of abbreviated month names is also needed
    to make sure they match the full forms.
    
    In case of kok_IN CLDR does not provide the abbreviated month names
    explicitly but uses full month names in such cases so abmon section
    has been copied from mon.
    
    * localedata/locales/as_IN (abmon): Update from CLDR.
    * localedata/locales/bn_BD (abmon): Likewise.
    * localedata/locales/bn_IN (abmon): Likewise.
    * localedata/locales/gu_IN (abmon): Likewise.
    * localedata/locales/hi_IN (abmon): Likewise.
    * localedata/locales/kn_IN (abmon): Likewise.
    * localedata/locales/ml_IN (abmon): Likewise.
    * localedata/locales/mr_IN (abmon): Likewise.
    * localedata/locales/ne_NP (abmon): Likewise.
    * localedata/locales/or_IN (abmon): Likewise.
    * localedata/locales/pa_IN (abmon): Likewise.
    * localedata/locales/ta_IN (abmon): Likewise.
    * localedata/locales/te_IN (abmon): Likewise.
    
    * localedata/locales/kok_IN (abmon): Likewise but copied from mon.

commit a352570d6baacdcb030acfda6c89e293769be459
Author: Siddhesh Poyarekar <address@hidden>
Date:   Wed Jul 26 18:27:41 2017 +0530

    Update translations
    
           * po/bg.po: Update translations.
           * po/cs.po: Likewise.
           * po/de.po: Likewise.
           * po/pl.po: Likewise.
           * po/uk.po: Likewise.
           * po/vi.po: Likewise.

commit cd5919cb61c6d25cffdd138a231d32903c0ebbc9
Author: Mike FABIAN <address@hidden>
Date:   Wed Jul 26 12:24:07 2017 +0200

    Use POSIX Portable Character Set in the new  mai_NP locale source file 
instead of <Uxxxx>
    
        * localedata/locales/mai_NP: Use POSIX Portable Character Set.

commit 64d38726e1db6e897b747dfdeab4bff33ad7864f
Author: Akhilesh Kumar <address@hidden>
Date:   Wed Jul 26 09:21:32 2017 +0530

    Added New Locale mai_NP
    
    Maithili which is an official language not only in India but in Nepal as 
well.
    https://en.wikipedia.org/wiki/Maithili_language
    Reference is taken form mai_IN.
    
        [BZ #21835]
        * localedata/locales/mai_NP: New file.
        * localedata/SUPPORTED: Add mai_NP/UTF-8.

commit a426a65ce8c3a5cd849409dec2ea9de0c3b5f445
Author: Akhilesh Kumar <address@hidden>
Date:   Wed Jul 26 13:43:59 2017 +0530

    Removed redundant data for the_NP locale
    
        [BZ #21838]
        * locales/the_NP (LC_CTYPE): copy "ne_NP"
        * locales/the_NP (LC_COLLATE): copy "ne_NP"
        * locales/the_NP (LC_MONETARY): copy "ne_NP"
        * locales/the_NP (LC_TELEPHONE): copy "ne_NP"

commit 3760ff775656d38de41373dcfa9e1b105e895c98
Author: Mike FABIAN <address@hidden>
Date:   Wed Jul 26 11:09:13 2017 +0200

    Remove redundant data for LC_MONETARY in address@hidden

commit 480af555f35201a646531cfd7c68a58905edba90
Author: Akhilesh Kumar <address@hidden>
Date:   Wed Jul 26 13:19:14 2017 +0530

    Remove redundant data for LC_MONETARY for Indian locales
    
        [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/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 0aa573a44d12d7a59484e02ebebf2b8ad2e7ee71
Author: Mike FABIAN <address@hidden>
Date:   Wed Jul 26 08:20:20 2017 +0200

    Add [BZ #21828] to ChangeLog

commit a0e52598302c719249a8262f2ef0fe6c414ad489
Author: Mike FABIAN <address@hidden>
Date:   Wed Jul 26 08:15:01 2017 +0200

    Mention in NEWS that the Unicode 10.0.0 update causes user visible changes

commit f4ecd7ddc7b043aa68fc4e9281ef4d2604e61165
Author: Siddhesh Poyarekar <address@hidden>
Date:   Wed Jul 26 07:09:50 2017 +0530

    sv: Update translation

commit c771b59a24c082d5d9a0ff3f5295db21431e8cf9
Author: Akhilesh Kumar <address@hidden>
Date:   Thu Jul 20 12:35:29 2017 +0530

    Fix inconsistency in country_isbn and missing prefixes
    
        [BZ #21797]
        * locales/et_EE (LC_ADDRESS): Fix country_isbn.
        * locales/hy_AM (LC_ADDRESS): Fix country_isbn.

commit 1b768b4897a2ba6b30809a72f08b8eacba32a022
Author: Mike FABIAN <address@hidden>
Date:   Mon Jul 24 14:52:09 2017 +0200

    Add country_name to several locales
    
        * locales/an_ES (LC_ADDRESS): Add country_name.
        * locales/ayc_PE (LC_ADDRESS): Add country_name.
        * locales/address@hidden (LC_ADDRESS): Add country_name.
        * locales/dv_MV (LC_ADDRESS): Add country_name,
        country_ab2, and country_ab3
        * locales/ia_FR (LC_ADDRESS): Add country_name.
        * locales/ik_CA (LC_ADDRESS): Add country_name.
        * locales/lij_IT (LC_ADDRESS): Add country_name.
        * locales/mi_NZ (LC_ADDRESS): Add country_name.
        * locales/nds_DE (LC_ADDRESS): Add country_name.
        * locales/nds_NL (LC_ADDRESS): Add country_name.
        * locales/oc_FR (LC_ADDRESS): Add country_name.
        * locales/sa_IN (LC_ADDRESS): Add country_name.
        * locales/sc_IT (LC_ADDRESS): Add country_name.
        * locales/sd_IN (LC_ADDRESS): Add country_name.
        * locales/tcy_IN (LC_ADDRESS): Add country_name.
        * locales/tg_TJ (LC_ADDRESS): Add country_name.
        * locales/tl_PH (LC_ADDRESS): Add country_name.
        * locales/tt_RU (LC_ADDRESS): Add country_name.
        * locales/wo_SN (LC_ADDRESS): Add country_name.
        * locales/zh_SG (LC_ADDRESS): Add country_name.

commit ffe6d539df373f815f08b2768d690219c34b8c1a
Author: Akhilesh Kumar <address@hidden>
Date:   Mon Jul 24 17:40:26 2017 +0530

    Fix name_mrs for mag_IN
    
        [BZ #21825]
        * locales/mag_IN(LC_NAME): Fix name_mrs.

commit b0edfa40c696704bbc5d2bc697b883bef86d3e1a
Author: Akhilesh Kumar <address@hidden>
Date:   Mon Jul 24 12:43:47 2017 +0530

    Added yesstr/nostr for sa_IN
    
        [BZ #21823]
        * locales/sa_IN (LC_MESSAGES): Add yesstr,nostr

commit 832f8e048773da9aac99cd1ee57f2ccbd40860f6
Author: Akhilesh Kumar <address@hidden>
Date:   Mon Jul 24 12:26:11 2017 +0530

    Fix LC_TIME for mai_IN
    
        [BZ #21822]
        * locales/mai_IN (LC_TIME): Fix abday, day, mon etc...

commit 94955362ddf7db640597c8c6406456828d9332f3
Author: Siddhesh Poyarekar <address@hidden>
Date:   Tue Jul 25 12:34:14 2017 +0530

    zic: Use PRIdMAX to print line numbers
    
    The PRIdLINENUM abstraction is unnecessary and breaks libc.pot
    generation.
    
        * timezone.zic (PRIdLINENO): Remove.
        (verror): Use PRIdMAX.
        * po/libc.pot: Regenerate.

commit 95a73392580761abc62fc9b1386d232cd55878e9
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Jul 17 18:11:12 2017 -0300

    tunables: Use direct syscall for access (BZ#21744)
    
    The function maybe_enable_malloc_check, which is called by
    __tunables_init, calls __access_noerrno.  It isn't problem when
    symbol is is in ld.so, which has a special version of __access_noerrno
    without stack protector.  But when glibc is built with stack protector,
    maybe_enable_malloc_check in libc.a can't call the regular version of
    __access_noerrno with stack protector.
    
    This patch changes how Linux defines the __access_noerrno to be an
    inline call instead and thus preventing defining different build
    rules for ld/static and shared.
    
        H.J. Lu  <address@hidden>
        Adhemerval Zanella  <address@hidden>
    
        [BZ #21744]
        * elf/dl-tunables.c: Include not-errno.h header.
        * include/unistd.h (__access_noerrno): Remove definition.
        * sysdeps/unix/sysv/linux/access.c (__access_noerrno): Likewise.
        * sysdeps/generic/not-errno.h: New file.
        * sysdeps/unix/sysv/linux/not-errno.h: Likewise.

commit 422ff87c249ddc06701d096421db63343e4754be
Author: H.J. Lu <address@hidden>
Date:   Mon Jul 24 06:06:08 2017 -0700

    Avoid accessing corrupted stack from __stack_chk_fail [BZ #21752]
    
    __libc_argv[0] points to address on stack and __libc_secure_getenv
    accesses environment variables which are on stack.  We should avoid
    accessing stack when stack is corrupted.
    
    This patch also renames function argument in __fortify_fail_abort
    from do_backtrace to need_backtrace to avoid confusion with do_backtrace
    from enum __libc_message_action.
    
        [BZ #21752]
        * debug/fortify_fail.c (__fortify_fail_abort): Don't pass down
        __libc_argv[0] if we aren't doing backtrace.  Rename do_backtrace
        to need_backtrace.
        * sysdeps/posix/libc_fatal.c (__libc_message): Don't call
        __libc_secure_getenv if we aren't doing backtrace.

commit 55703fcace89b53d7f41f7d85ede50571da2bcc8
Author: Andreas Schwab <address@hidden>
Date:   Mon Jul 24 11:06:19 2017 +0200

    Remove extra semicolons in struct pthread_mutex (bug 21804)

commit 2a28610f9ff05484130b71dfd525f031c4066166
Author: Akhilesh Kumar <address@hidden>
Date:   Mon Jul 24 09:17:37 2017 +0530

    Added country_name in mai_IN
    
        [BZ #21821]
        * locales/mai_IN (LC_ADDRESS): Add country_name.

commit fa13514a5177faf3ddac7115db9dbb43c5c1921b
Author: Akhilesh Kumar <address@hidden>
Date:   Fri Jul 21 14:57:01 2017 +0530

    Added country_isbn for Republic of Korea
    
        [BZ #21796]
        * locales/ko_KR (LC_ADDRESS): Add country_isbn.

commit 54606ca8c70628e0e237ee997bedb8be6c7e7a63
Author: Akhilesh Kumar <address@hidden>
Date:   Fri Jul 21 14:46:42 2017 +0530

    Added country_isbn for Italy
    
        [BZ #21794]
        * locales/ca_IT (LC_ADDRESS): Add country_isbn.
        * locales/de_IT (LC_ADDRESS): Add country_isbn.
        * locales/fur_IT (LC_ADDRESS): Add country_isbn.
        * locales/it_IT (LC_ADDRESS): Add country_isbn.
        * locales/lij_IT (LC_ADDRESS): Add country_isbn.
        * locales/sc_IT (LC_ADDRESS): Add country_isbn.

commit cab91f947a6059907a314a91f4c90abcccfb0262
Author: Dmitry V. Levin <address@hidden>
Date:   Sun Jul 23 23:22:53 2017 +0000

    S390: fix sys/ptrace.h to make it includible again after asm/ptrace.h
    
    sys/ptrace.h on S390 used to be includible both before and after
    asm/ptrace.h, until commit b08a6a0dea63742313ed3d9577c1e2d83436b196
    among other changes introduced PTRACE_SINGLEBLOCK enum constant which
    is also defined in asm/ptrace.h as a macro, making sys/ptrace.h fail
    to compile when included after asm/ptrace.h.
    
    * sysdeps/unix/sysv/linux/s390/sys/ptrace.h [_LINUX_PTRACE_H ||
    _S390_PTRACE_H]: Undefine all PTRACE_* macro constants defined
    later as enum constants, except PTRACE_PEEKUSER, PTRACE_POKEUSER,
    and PTRACE_SEIZE_DEVEL that are not defined by Linux headers.

commit 64a1daed189ab6fff11b33dd8d493962460f0f6c
Author: John David Anglin <address@hidden>
Date:   Sun Jul 23 12:50:44 2017 -0400

    [BZ 19170]
    Revise comment in sysdeps/hppa/dl-trampoline.S

commit 1740441b49cd4fee21b0368108ab53fb788bba7b
Author: DJ Delorie <address@hidden>
Date:   Fri Jul 21 19:50:21 2017 -0400

    Correct nss/tst-nss-test5 configuration
    
    The configuration was cloned from test4, but test5 does not
    have data for a second module.

commit 6259e62c027d38f5061e723f80488c36e5e28cad
Author: Steve Ellcey <address@hidden>
Date:   Fri Jul 21 10:33:30 2017 -0700

    Fix localedata test builds with latest GCC
    
        * 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): New macros.

commit cb62108e740924551fd45f89815d6fba8139890b
Author: Steve Ellcey <address@hidden>
Date:   Fri Jul 21 09:56:13 2017 -0700

    Fix nss/nss_test1.c compile with latest GCC.
    
        * nss/nss_test1.c (default_npwd_data): Fix definition.

commit a4c9be1b8b5edd533d31e7f9a682b891f696bb91
Author: Steve Ellcey <address@hidden>
Date:   Fri Jul 21 09:47:57 2017 -0700

    Fix cexpl when compiled with latest GCC
    
        * sysdeps/ieee754/ldbl-128/e_expl.c (__ieee754_expl): Call
        math_force_eval.

commit 2d9b85e7e7b35b40682fdf8343ac0eccbae83985
Author: Massimeddu Cireddu <address@hidden>
Date:   Fri Jul 21 11:01:51 2017 +0200

    Fix misspelled yesexpr/day/abday/mon/abmon/date_fmt fields in sc_IT
    
        [BZ #12068]
        * locales/sc_IT (LC_MESSAGES): Fix yesexpr and add yesstr and nostr.
        * locales/sc_IT (LC_TIME): Fix mispelled day/abday/mon/abmon and
        fix date_fmt.

commit 77046c6153eb313e4f21a660fcb7e7060f71fd8a
Author: Rafal Luzynski <address@hidden>
Date:   Fri Jul 21 10:29:06 2017 +0200

    localedata/locales/lg_UG: Fix some comments.
    
    After the recent update of int_select the comment needed an update, too.
    While at this, all comments in LC_TELEPHONE were moved above their
    respective values because this looks better.  Some minor typos fixed.
    
        [BZ #21783]
        * localedata/locales/lg_UG (LC_TELEPHONE): Move all comments
        above the values, correct some of them.

commit 5eeb2ea9815358d22b77b74a8c3230ab5ea65ec3
Author: Akhilesh Kumar <address@hidden>
Date:   Thu Jul 20 11:56:24 2017 +0530

    Add/Fix country_isbn for France
    
        [BZ #21795]
        * locales/br_FR (LC_ADDRESS): Add country_isbn.
        * locales/ca_FR (LC_ADDRESS): Add country_isbn.
        * locales/fr_FR (LC_ADDRESS): Add country_isbn.
        * locales/ia_FR (LC_ADDRESS): Fix country_isbn.
        * locales/oc_FR (LC_ADDRESS): Fix country_isbn.

commit 98d9c9a61b5b8fa4d6bf74ead11f56861ea187f6
Author: Akhilesh Kumar <address@hidden>
Date:   Fri Jul 21 09:09:55 2017 +0200

    Add country_name and country_post, and country_isbn for pap_AW and pap_CW
    
        [BZ #21807]
        [BZ #21808]
        * locales/pap_AW (LC_ADDRESS): Add country_name and country_post.
        * locales/pap_CW (LC_ADDRESS): Add country_name, country_post,
        and country_isbn.

commit 36ea2b1b68ecc5c626824b0c1cc26933f0c37393
Author: Mike FABIAN <address@hidden>
Date:   Thu Jul 20 17:05:21 2017 +0200

    Add int_select to many locales
    
        * locales/ar_JO (LC_TELEPHONE): Add int_select.
        * locales/ar_LB (LC_TELEPHONE): Add int_select.
        * locales/ar_MA (LC_TELEPHONE): Add int_select.
        * locales/ar_OM (LC_TELEPHONE): Add int_select.
        * locales/ber_DZ (LC_TELEPHONE): Add int_select.
        * locales/ber_MA (LC_TELEPHONE): Add int_select.
        * locales/ca_ES (LC_TELEPHONE): Add int_select.
        * locales/crh_UA (LC_TELEPHONE): Add int_select.
        * locales/de_CH (LC_TELEPHONE): Add int_select.
        * locales/de_LI (LC_TELEPHONE): Add int_select.
        * locales/de_LU (LC_TELEPHONE): Add int_select.
        * locales/dz_BT (LC_TELEPHONE): Add int_select.
        * locales/en_HK (LC_TELEPHONE): Add int_select.
        * locales/en_IE (LC_TELEPHONE): Add int_select.
        * locales/en_NZ (LC_TELEPHONE): Add int_select.
        * locales/en_PH (LC_TELEPHONE): Add int_select.
        * locales/en_SG (LC_TELEPHONE): Add int_select.
        * locales/es_ES (LC_TELEPHONE): Add int_select.
        * locales/es_PA (LC_TELEPHONE): Add int_select.
        * locales/es_US (LC_TELEPHONE): Add int_select.
        * locales/es_UY (LC_TELEPHONE): Add int_select.
        * locales/eu_ES (LC_TELEPHONE): Add int_select.
        * locales/he_IL (LC_TELEPHONE): Add int_select.
        * locales/id_ID (LC_TELEPHONE): Add int_select.
        * locales/it_CH (LC_TELEPHONE): Add int_select.
        * locales/it_CH (LC_TELEPHONE): Add int_select.
        * locales/it_IT (LC_TELEPHONE): Add int_select.
        * locales/kl_GL (LC_TELEPHONE): Add int_select.
        * locales/ko_KR (LC_TELEPHONE): Add int_select.
        * locales/kw_GB (LC_TELEPHONE): Add int_select.
        * locales/ky_KG (LC_TELEPHONE): Add int_select.
        * locales/lij_IT (LC_TELEPHONE): Add int_select.
        * locales/lt_LT (LC_TELEPHONE): Add int_select.
        * locales/lv_LV (LC_TELEPHONE): Add int_select.
        * locales/mi_NZ (LC_TELEPHONE): Add int_select.
        * locales/ms_MY (LC_TELEPHONE): Add int_select.
        * locales/mt_MT (LC_TELEPHONE): Add int_select.
        * locales/ne_NP (LC_TELEPHONE): Add int_select.
        * locales/niu_NU (LC_TELEPHONE): Add int_select.
        * locales/nl_NL (LC_TELEPHONE): Add int_select.
        * locales/pl_PL (LC_TELEPHONE): Add int_select.
        * locales/ro_RO (LC_TELEPHONE): Add int_select.
        * locales/ru_UA (LC_TELEPHONE): Add int_select.
        * locales/rw_RW (LC_TELEPHONE): Add int_select.
        * locales/sk_SK (LC_TELEPHONE): Add int_select.
        * locales/sl_SI (LC_TELEPHONE): Add int_select.
        * locales/so_SO (LC_TELEPHONE): Add int_select.
        * locales/the_NP (LC_TELEPHONE): Add int_select.
        * locales/tk_TM (LC_TELEPHONE): Add int_select.
        * locales/uz_UZ (LC_TELEPHONE): Add int_select.
        * locales/address@hidden (LC_TELEPHONE): Add int_select.
        * locales/zh_SG (LC_TELEPHONE): Add int_select.

commit ed6a854cf6a04f97086d022c66482a2e298e6cc1
Author: Akhilesh Kumar <address@hidden>
Date:   Thu Jul 20 15:04:31 2017 +0530

    Added int_select international_call_prefixes
    
        [BZ # 21801]
        * locales/es_NI (LC_TELEPHONE): Add int_select.
        * locales/es_PE (LC_TELEPHONE): Add int_select.
        * locales/es_PR (LC_TELEPHONE): Add int_select.
        * locales/es_PY (LC_TELEPHONE): Add int_select.
        * locales/es_VE (LC_TELEPHONE): Add int_select.
        * locales/fo_FO (LC_TELEPHONE): Add int_select.
        * locales/fr_CH (LC_TELEPHONE): Add int_select.
        * locales/fr_LU (LC_TELEPHONE): Add int_select.
        * locales/ga_IE (LC_TELEPHONE): Add int_select.
        * locales/gl_ES (LC_TELEPHONE): Add int_select.
        * locales/gv_GB (LC_TELEPHONE): Add int_select.

commit 747d9c222430db73787b7e78b6c2ab0c1bdeec5e
Author: Akhilesh Kumar <address@hidden>
Date:   Thu Jul 20 13:31:14 2017 +0530

    Fix int_select international_call_prefixes
    
        [BZ #21799]
        * locales/ar_KW (LC_TELEPHONE): Add int_select.
        * locales/ar_LY (LC_TELEPHONE): Add int_select.
        * locales/ar_QA (LC_TELEPHONE): Add int_select.
        * locales/ar_SA (LC_TELEPHONE): Add int_select.
        * locales/ar_SS (LC_TELEPHONE): Add int_select.
        * locales/ar_SY (LC_TELEPHONE): Add int_select.
        * locales/ar_TN (LC_TELEPHONE): Add int_select.
        * locales/ar_YE (LC_TELEPHONE): Add int_select.
        * locales/ca_AD (LC_TELEPHONE): Add int_select.
        * locales/es_MX (LC_TELEPHONE): Add int_select.

commit ee8c6cc5f9929a36622ae17bee6553bc25a3a576
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Jul 19 15:56:02 2017 -0300

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

commit d500130f313572651e1d299f1677f8d677060fb2
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Jul 19 11:45:37 2017 -0300

    alpha: Fix clone exit syscall argument passing (BZ#21512)
    
    This patch fixes the argument passing for exit syscall after
    the clone function returns on hppa.  This fixes misc/tst-clone2
    on alpha-linux-gnu.
    
    Checked misc/tst-clone2 on alpha-linux-gnu.
    
        [BZ #21512]
        * sysdeps/unix/sysv/linux/alpha/clone.S (__clone): Fix argument
        passing to syscall exit.

commit f8cef4d07d9641e27629bd3ce2d13f5d702fb251
Author: DJ Delorie <address@hidden>
Date:   Wed Jul 19 13:14:34 2017 -0400

    Fix cast-after-dereference
    
    Original code was dereferencing a char*, then casting the value
    to size_t.  Should cast the pointer to size_t* then deference.

commit 4f329ea996af7e3414b1806c86f6d32866d34b36
Author: Mike FABIAN <address@hidden>
Date:   Wed Jul 19 17:21:21 2017 +0200

    Add country_name to iu_CA locale
    
        * locales/iu_CA (LC_ADDRESS): Add country_name

commit 3f31d8bbad48ec9f642e809feb1671863cfd9bb0
Author: Akhilesh Kumar <address@hidden>
Date:   Wed Jul 19 12:57:36 2017 +0530

    Fix country_post "Country Postal Abbreviations"
    
        [BZ #21788]
        * locales/cy_GB (LC_ADDRESS): Add country_post.
        * locales/hy_AM (LC_ADDRESS): Add country_post.
        * locales/iu_CA (LC_ADDRESS): Add country_post.
        * locales/address@hidden (LC_ADDRESS): Add country_post.
        * locales/ps_AF (LC_ADDRESS): Add country_post.
        * locales/sr_RS (LC_ADDRESS): Fix country_post.
        * locales/address@hidden (LC_ADDRESS): Fix country_post.
        * locales/zh_TW (LC_ADDRESS): Fix country_post.

commit 43cd85db51857afc7254c9926ea7b41506494202
Author: Akhilesh Kumar <address@hidden>
Date:   Wed Jul 19 11:47:01 2017 +0530

    Fix consistency in country_isbn in various locales and add comment to 
country_num in nr_ZA
    
        [BZ #21784]
        * locales/bo_CN (LC_ADDRESS): Fix inconsistency in country_isbn.
        * locales/fa_IR (LC_ADDRESS): Fix inconsistency in country_isbn.
        * locales/address@hidden (LC_ADDRESS): Fix inconsistency in 
country_isbn.
        * locales/nr_ZA (LC_ADDRESS): Add country_num.
        * locales/sr_RS (LC_ADDRESS): Fix inconsistency in country_isbn.
        * locales/address@hidden (LC_ADDRESS): Fix inconsistency in 
country_isbn.
        * locales/ug_CN (LC_ADDRESS): Fix inconsistency in country_isbn.
        * locales/yue_HK (LC_ADDRESS): Fix inconsistency in country_isbn.
        * locales/zh_CN (LC_ADDRESS): Fix inconsistency in country_isbn.
        * locales/zh_TW (LC_ADDRESS): Fix inconsistency in country_isbn.

commit 47f27396591fdc4875ecc1663f6d4315edacb5a1
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 19 08:39:18 2017 -0700

    i386: Test memmove_chk and memset_chk only in libc.so [BZ #21741]
    
    Since there are no multiarch versions of memmove_chk and memset_chk,
    test multiarch versions of memmove_chk and memset_chk only in libc.so.
    
        [BZ #21741]
        * sysdeps/i386/i686/multiarch/ifunc-impl-list.c
        (__libc_ifunc_impl_list): Test memmove_chk and memset_chk only
        in libc.so.

commit 2b4fca86d786b4a5ed4f88c571eeec7d9ff5e684
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 19 08:21:27 2017 -0700

    Don't add stack_chk_fail_local.o to libc.a [BZ #21740]
    
    commit 524a8ef2ad76af8ac049293d993a1856b0d888fb
    Author: Nick Alcock <address@hidden>
    Date:   Mon Dec 26 10:08:57 2016 +0100
    
        PLT avoidance for __stack_chk_fail [BZ #7065]
    
        Add a hidden __stack_chk_fail_local alias to libc.so,
        and make sure that on targets which use __stack_chk_fail,
        this does not introduce a local PLT reference into libc.so.
    
    which unconditionally added
    
    strong_alias (__stack_chk_fail, __stack_chk_fail_local)
    
    defines __stack_chk_fail_local as an alias of __stack_chk_fail in libc.a.
    There is no need to add stack_chk_fail_local.o to libc.a.  We only need
    to add stack_chk_fail_local.oS to libc_nonshared.a.
    
    Tested on x86-64:
    
    address@hidden build-x86_64-linux]$ nm libc.a | grep __stack_chk_fail
    0000000000000000 T __stack_chk_fail
    0000000000000000 T __stack_chk_fail_local
    address@hidden build-x86_64-linux]$ nm libc_nonshared.a | grep 
__stack_chk_fail_local
    0000000000000000 T __stack_chk_fail_local
    address@hidden build-x86_64-linux]$
    
        [BZ #21740]
        * debug/Makefile (elide-routines.o): New.

commit 82e06600505cc26810d263a964d9eca6f3cdfe91
Author: Szabolcs Nagy <address@hidden>
Date:   Tue Jul 18 11:15:12 2017 +0100

    [AArch64] Update dl-procinfo for new HWCAP flags in Linux 4.12
    
    Follow up to commit 512d245bc30cca893db6979f42f058e734f345c3.
    
        * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c:
        (_dl_aarch64_cap_flags): Update.
        * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h
        (_DL_HWCAP_COUNT, _DL_HWCAP_LAST): Update.

commit 0757b139fc4fd393cb987e62a273fb2cd6e56772
Author: Akhilesh Kumar <address@hidden>
Date:   Tue Jul 18 11:51:48 2017 +0530

    Fix or add int_select international_call_prefixes
    
        [BZ #21783 ]
        * locales/ar_AE (LC_TELEPHONE): Add int_select.
        * locales/ar_BH (LC_TELEPHONE): Fix int_select.
        * locales/ar_IQ (LC_TELEPHONE): Add int_select.
        * locales/es_CU (LC_TELEPHONE): Add int_select.
        * locales/ja_JP (LC_TELEPHONE): Add int_select.
        * locales/lg_UG (LC_TELEPHONE): Fix int_select.
        * locales/mn_MN (LC_TELEPHONE): Fix int_select.
        * locales/om_KE (LC_TELEPHONE): Add int_select.
        * locales/sm_WS (LC_TELEPHONE): Fix int_select.

commit 00d7a3777369bac3d8d44152dde2bb7381984ef6
Author: Szabolcs Nagy <address@hidden>
Date:   Mon Jul 17 09:58:29 2017 +0100

    [AArch64] Fix out of bound array access regression
    
    Partially revert ea01a4da219011f4a4db97eef3c5bfc2f6e8fc6b
    "aarch64: Add hwcap string routines" because _dl_procinfo cannot
    be future proof and avoid oob access in _dl_hwcap_string.

commit 91ac3a7d8474480685632cd25f844d3154c69fdf
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Mon Jul 17 17:48:59 2017 -0300

    powerpc: Fix float128 IFUNC relocations [BZ #21707]
    
    The patch proposed by Peter Bergner [1] to libgcc in order to fix
    [BZ #21707] adds a dependency on a symbol provided by the loader,
    forcing the loader to be linked to tests after libgcc was linked.
    
    It also requires to read the thread pointer during IRELA relocations.
    
    Tested on powerpc, powerpc64, powerpc64le, s390x and x86_64.
    
    [1] https://sourceware.org/ml/libc-alpha/2017-06/msg01383.html
    
        [BZ #21707]
        * csu/libc-start.c (LIBC_START_MAIN): Perform IREL{,A}
        relocations before or after initializing the TCB on statically
        linked executables.  That's a per-architecture definition.
        * elf/rtld.c (dl_main): Add a comment about thread-local
        variables initialization.
        * sysdeps/generic/libc-start.h: New file.  Define
        ARCH_APPLY_IREL and ARCH_SETUP_IREL.
        * sysdeps/powerpc/Makefile:
        [$(subdir) = elf && $(multi-arch) != no] (tests-static-internal): Add 
tst-tlsifunc-static.
        [$(subdir) = elf && $(multi-arch) != no && $(build-shared) == yes]
        (tests-internal): Add tst-tlsifunc.
        * sysdeps/powerpc/tst-tlsifunc.c: New file.
        * sysdeps/powerpc/tst-tlsifunc-static.c: Likewise.
        * sysdeps/powerpc/powerpc64le/Makefile (f128-loader-link): New
        variable.
        [$(subdir) = math] (test-float128% test-ifloat128%): Force
        linking to the loader after linking to libgcc.
        [$(subdir) = wcsmbs || $(subdir) = stdlib] (bug-strtod bug-strtod2)
        (bug-strtod2 tst-strtod-round tst-wcstod-round tst-strtod6 tst-strrom)
        (tst-strfrom-locale strfrom-skeleton): Likewise.
        * sysdeps/unix/sysv/linux/powerpc/libc-start.h: New file.  Define
        ARCH_APPLY_IREL and ARCH_SETUP_IREL.

commit ae5c498d93d049d9574d3f8f18e62cac64cbdf5c
Author: DJ Delorie <address@hidden>
Date:   Mon Jul 17 15:50:43 2017 -0400

    Extend NSS test suite
    
    * nss/nss_test.h: New.
    * nss/nss_test1.h: Rewrite to use test-provided data.  Add group
    tests.  Parameterize to allow multiple instances.
    * nss/nss_test2.h: New.  Second instance.
    * nss/nss_test.ver: New.
    * nss/nss_test1.c: Update to use new framework.
    * nss/nss_test2.c: New.
    * nss/nss_test3.c: New.
    * nss/nss_test4.c: New.
    * nss/nss_test5.c: New.
    * nss/Makefile: Build new tests.
    * shlib-versions: Add libnss_test2.

commit 48145e1c7dabaeab7ad8346d14f910cdeb6bc910
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Jul 17 11:46:00 2017 -0300

    hppa: Fix clone exit syscall argument passing (BZ#21512)
    
    This patch fixes the argument passing for exit syscall after
    the clone function returns on hppa.  This fixes misc/tst-clone2
    on hppa-linux-gnu.
    
    Checked misc/tst-clone2 on hppa-linux-gnu.
    
        [BZ #21512]
        * sysdeps/unix/sysv/linux/hppa/clone.S (__clone): Fix argument
        passing to syscall exit.

commit 204b3d4d2088cf94e8205a4db247aaa011cbe181
Author: Akhilesh Kumar <address@hidden>
Date:   Mon Jul 17 14:19:42 2017 +0200

    Fix country_name in li_NL
    
        [BZ #21770]
        * locales/li_NL: Fix country_name.

commit 6eb5f3b7c7fbd433e80dac0fab2f5b80a837e8fb
Author: Mike FABIAN <address@hidden>
Date:   Mon Jul 17 16:18:10 2017 +0200

    Use U+02BB MODIFIER LETTER TURNED COMMA instead of U+0027 APOSTROPHE in 
yesstr and nostr for to_TO locale
    
    Suggested by Rafał Lużyński.
    
        * locales/to_TO (LC_MESSAGES): Use U+02BB instead of U+0027 in yesstr 
and nostr

commit 7317a9702081589b5a67f6883d8cf033e1b67605
Author: Mike FABIAN <address@hidden>
Date:   Mon Jul 17 14:31:11 2017 +0200

    Fix yesexpr in new agr_PE locale
    
    yY should be added there as in (almost) all other locales
    (Suggested by Rafał Lużyński).
    
        * locales/agr_PE (LC_MESSAGES): Add yY to yesexpr.

commit 3261ddfc14c4cb2a2162143ecde689e140496ba2
Author: Mike FABIAN <address@hidden>
Date:   Mon Jul 17 14:26:43 2017 +0200

    Write "Latin" in title case in "title" in hif_FJ locale
    
        * locales/hif_FJ: Write "Latin" in title case in "title"

commit 512d245bc30cca893db6979f42f058e734f345c3
Author: Szabolcs Nagy <address@hidden>
Date:   Tue Jul 4 11:54:51 2017 +0100

    Add HWCAP_ macros from Linux 4.12 to AArch64 bits/hwcap.h.
    
    This patch adds the HWCAP_JSCVT, HWCAP_FCMA and HWCAP_LRCPC macros
    from Linux 4.12 to the AArch64 bits/hwcap.h.
    
        * sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h (HWCAP_FCMA): New macro.
        (HWCAP_JSCVT, HWCAP_LRCPC): Likewise.

commit 1903b38c6599129d9c09d5cffc9ca7cbeb50b100
Author: John David Anglin <address@hidden>
Date:   Sun Jul 16 12:59:00 2017 -0400

    Return to caller if dl_fixup fails to resolve callee on hppa.

commit ce1917d0bf87f8d98c0891a85272c21bd0a46654
Author: John David Anglin <address@hidden>
Date:   Sun Jul 16 12:46:50 2017 -0400

    Add CFI annotation.

commit cc407f4e81070d2db7ddc8a0528bb40bbe9d2a13
Author: John David Anglin <address@hidden>
Date:   Sun Jul 16 12:24:30 2017 -0400

    Fix stack offset for r19 load in __getcontext.

commit 07f94b7a96392c8609ac8d29956728d9017e6e8a
Author: John David Anglin <address@hidden>
Date:   Sun Jul 16 12:13:14 2017 -0400

    Fix __setcontext return value on hppa.

commit d71400dca62ab1b77b2b345a66df77c9f963993b
Author: John David Anglin <address@hidden>
Date:   Sun Jul 16 11:58:01 2017 -0400

    Fix syscall cancellation on hppa.

commit a363f70336aa90519f950327654165b9ed0b3b98
Author: John David Anglin <address@hidden>
Date:   Sun Jul 16 11:28:02 2017 -0400

    Remove _exit entry from sysdeps/unix/sysv/linux/hppa/localplt.data.

commit 4d42d1802973891bcbc18ac9b0c5c4c956ba651f
Author: John David Anglin <address@hidden>
Date:   Sun Jul 16 11:11:31 2017 -0400

    Remove extra braces from sysdeps/hppa/__longjmp.c.

commit df3d455b23f3b901ecc1e4b7f1a600943f04471b
Author: John David Anglin <address@hidden>
Date:   Sun Jul 16 10:51:13 2017 -0400

    Fix [BZ 20098].

commit 66cd050f26c6e1130ff7998b7586c0003da23b46
Author: Siddhesh Poyarekar <address@hidden>
Date:   Sun Jul 16 15:30:27 2017 +0530

    Regenerate libc.pot

commit 32d9b0e7a6d2de37dabaedc848c9842f2aef8575
Author: John David Anglin <address@hidden>
Date:   Sat Jul 15 12:54:14 2017 -0400

    Fix [BZ locale/19838].

commit 075385f98af239ff5807a5c6ed17fec51e048454
Author: John David Anglin <address@hidden>
Date:   Sat Jul 15 12:40:13 2017 -0400

    Fix guard alignment in allocate_stack when stack grows up.

commit 2759a2c1d8b950521ae76e62efe0114fd36b6e2d
Author: John David Anglin <address@hidden>
Date:   Sat Jul 15 12:18:03 2017 -0400

    Fix failing sNaN tests on hppa.

commit 4fa8ae49aa169fb8d97882938e8bee3ed9ce5410
Author: DJ Delorie <address@hidden>
Date:   Fri Jul 14 21:46:42 2017 -0400

    Fix BZ #21654 - grp-merge.c alignment
    
    * grp/grp_merge.c (__copy_grp): Align char** to minimum pointer
    alignment not char alignment.
    (__merge_grp): Likewise.

commit de895ddcd7fc45caeeeb0ae312311b8bd31d82c5
Author: Szabolcs Nagy <address@hidden>
Date:   Wed Jul 12 10:53:13 2017 +0100

    Disable single thread optimization for open_memstream
    
    Single thread optimization is valid if at thread creation time the
    optimization can be disabled.  This is in principle true for all
    stream objects that user code can access (and thus needs locking),
    using the same internal list as fflush(0) uses.  However in glibc
    open_memstream is not on that list (BZ 21735) so the optimization
    has to be disabled.
    
        * libio/memstream.c (__open_memstream): Set _IO_FLAGS2_NEED_LOCK.
        * libio/wmemstream.c (open_wmemstream): Likewise.
        * nptl/tst-memstream.c: New.

commit 8bd8c052e765d626fae1424e2739d009a185a6ba
Author: Mike FABIAN <address@hidden>
Date:   Fri Jul 14 09:24:50 2017 +0200

    Fix country name in li_BE and encoding problem in abday in li_BE and li_NL
    
        * locales/li_BE: Fix country name and encoding problem in abday.
        * locales/li_NL: Fix encoding problem in abday.

commit babbf7552a73eab4f88fabc5e576524d061bcaad
Author: Akhilesh Kumar <address@hidden>
Date:   Thu Jul 13 15:13:46 2017 +0530

    New locale for bi_VU
    
        [BZ #21767]
        * locales/bi_VU: new file.
        * localedata/SUPPORTED: Add bi_VU/UTF-8.

commit 1b01a199eb348624e136cdb8155a5f48495e1c6a
Author: Akhilesh Kumar <address@hidden>
Date:   Thu Jul 13 15:47:18 2017 +0530

    Added yesstr and nostr for aa_ET
    
        [BZ #21768]
        * locales/aa_ET (LC_MESSAGES): Added yesstr and nostr.

commit 0a3bba389f100d855f431cee5072c8a1abf81a2f
Author: Mike FABIAN <address@hidden>
Date:   Thu Jul 13 15:59:10 2017 +0200

    Fix wrong bug number in localedata/ChangeLog
    
    The commit to add the Fiji Hindi locale mentioned
    
        Bug 21207 - ce_RU: update weekdays from CLDR
    
    which was wrong, correct is:
    
        Bug 21694 - Current Glibc Locale Does Not Support Tok-Pisin and Fiji 
Hindi Locale

commit 5ba6405338c280a3d84dcab1a11dcd1df9b5bee8
Author: Jiong Wang <address@hidden>
Date:   Thu Jul 13 15:48:41 2017 +0100

    [ARM] Fix ld.so crash when built using Binutils 2.29
    
    There is bug report that ld.so in GLIBC 2.24 built by Binutils 2.29 will 
crash
    on arm-linux-gnueabihf.  This is confirmed, and the details is at:
    
       https://sourceware.org/bugzilla/show_bug.cgi?id=21725.
    
    As analyzed in the PR, the old code was with the assumption that assembler
    won't set bit0 of thumb function address if it comes from PC-relative
    instructions and the calculation can be finished during assembling.  This
    assumption however does not hold after PR gas/21458.
    
        * sysdeps/arm/dl-machine.h (elf_machine_load_address):  Also strip bit 0
        of pcrel_address under Thumb mode.

commit 1dd577fd3382868d03ff4756dd5f7d3b8099b76a
Author: Akhilesh Kumar <address@hidden>
Date:   Wed Jul 12 16:17:11 2017 +0530

    Added Tongan language locale for Tonga
    
        [BZ #21728]
        * localedata/locales/to_TO: new file
        * localedata/SUPPORTED: added to_TO/UTF-8

commit edf96fe981c8ff21007aba716b03c9ac95030263
Author: Akhilesh Kumar <address@hidden>
Date:   Wed Jul 12 13:36:38 2017 +0530

    Added yesstr/nostr and fix yesexpr for pap_AW and pap_CW
    
        [BZ #21757]
        * locales/pap_AW (LC_MESSAGES): add yesstr and nostr, fix yesexpr
        * locales/pap_CW (LC_MESSAGES): add yesstr and nostr, fix yesexpr

commit 704eab2238dab04002258881fea2ebb147cb912d
Author: Akhilesh Kumar <address@hidden>
Date:   Wed Jul 12 19:08:15 2017 +0530

    Fix LC_MESSAGES and LC_ADDRESS for anp_IN
    
        [BZ #21760]
        * locales/anp_IN (LC_MESSAGES): add yesstr and nostr.
        * locales/anp_IN (LC_ADDRESS): add country_name

commit a325060c12bca236c8b415b04e11a742656a148e
Author: Akhilesh Kumar <address@hidden>
Date:   Wed Jul 12 17:21:25 2017 +0530

    Added yesstr and nostr for Tigrinya
    
        [BZ #21759]
        * locales/ti_ER (LC_MESSAGES): Add yesstr and nostr.
        * locales/ti_ET (LC_MESSAGES): Add yesstr and nostr.

commit 56e51ffc003bc4c8fd599acf5d677defe6db4c5c
Author: Mike FABIAN <address@hidden>
Date:   Wed Jul 12 22:01:47 2017 +0200

    locales/om_ET (LC_MESSAGES): add yesstr and nostr.

commit b5031c4c82908a2268bd6845f4afe6dd78489ff7
Author: Akhilesh Kumar <address@hidden>
Date:   Wed Jul 12 15:17:09 2017 +0530

    Added yesstr/nostr for nds_DE and nds_NL
    
        [BZ #21756]
        * locales/nds_DE (LC_MESSAGES): Add yesstr and nostr.
        * locales/nds_NL (LC_MESSAGES): Add yesstr and nostr.

commit 64bdd005b2e521f329261a73724fc79ab1ee3464
Author: Akhilesh Kumar <address@hidden>
Date:   Tue Jul 11 14:25:43 2017 +0530

    Added Fiji Hindi language locale for Fiji
    
        [BZ #21207]
        * locales/hif_FJ: New file.
        * SUPPORTED: Add hif_FJ/UTF-8.
        * locale/iso-639.def: Add Fiji Hindi (hif).

commit 27f29b2dad1b3cbb067d07394fec4d43ff734ca8
Author: John David Anglin <address@hidden>
Date:   Wed Jul 12 20:02:45 2017 -0400

    Fix type in sysdeps/hppa/dl-machine.h.

commit 06164c6773799f4003fd4716d542411bdf57006e
Author: H.J. Lu <address@hidden>
Date:   Tue Jul 11 13:40:56 2017 -0700

    Compile tst-ssp-1.c with -fstack-protector-all
    
    Compile tst-ssp-1.c with -fstack-protector-all in case the the stack
    protector heuristics do not instrument a thirty-byte array.
    
        * debug/Makefile (CFLAGS-tst-ssp-1.c): Set to
        -fstack-protector-all.

commit 30200427a99e5ddac9bad08599418d44d54aa9aa
Author: Chris Leonard <address@hidden>
Date:   Mon Aug 22 19:26:41 2016 -0400

    New locale for agr_PE.
    
        [BZ #20496]
        * locale/iso-639.def: Add Awajún / Aguaruna (agr).
    
        [BZ #20496]
        * SUPPORTED: Add agr_PE.
        * locales/agr_PE: New file, Awajún / Aguaruna locale for Peru.

commit a058c7c83996dee686cd6039a3e7bc80d1866a99
Author: Akhilesh Kumar <address@hidden>
Date:   Tue Jul 11 16:22:29 2017 +0530

    Added Samoan language locale for Samoa
    
        [BZ #21710]
        * locales/sm_WS: New file.
        * SUPPORTED: Add sm_WS/UTF-8.

commit 4de0cb2e9a86c02ff853630efbae0d2ae777ff47
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Tue Jun 27 15:41:12 2017 -0300

    powerpc64le: Iterate over all object suffixes when appending -mfloat128
    
    On powerpc64le, the compilation of the files related to float128 support
    requires the option -mfloat128 to be passed to gcc.  However, not all
    possible object suffixes were covered in the Makefile.  This patch uses
    $(all-object-suffixes) in all remaining rules.
    
    Tested for powerpc64le.
    
        * sysdeps/powerpc/powerpc64le/Makefile: Use $(all-object-suffixes)
        to iterate over all possible object suffixes.  Add a comment
        explaining the use of sysdep-CFLAGS instead of CFLAGS.

commit ed421fca42fd9b4cab7c66e77894b8dd7ca57ed0
Author: H.J. Lu <address@hidden>
Date:   Tue Jul 11 07:44:01 2017 -0700

    Avoid backtrace from __stack_chk_fail [BZ #12189]
    
    __stack_chk_fail is called on corrupted stack.  Stack backtrace is very
    unreliable against corrupted stack.  __libc_message is changed to accept
    enum __libc_message_action and call BEFORE_ABORT only if action includes
    do_backtrace.  __fortify_fail_abort is added to avoid backtrace from
    __stack_chk_fail.
    
        [BZ #12189]
        * debug/Makefile (CFLAGS-tst-ssp-1.c): New.
        (tests): Add tst-ssp-1 if -fstack-protector works.
        * debug/fortify_fail.c: Include <stdbool.h>.
        (_fortify_fail_abort): New function.
        (__fortify_fail): Call _fortify_fail_abort.
        (__fortify_fail_abort): Add a hidden definition.
        * debug/stack_chk_fail.c: Include <stdbool.h>.
        (__stack_chk_fail): Call __fortify_fail_abort, instead of
        __fortify_fail.
        * debug/tst-ssp-1.c: New file.
        * include/stdio.h (__libc_message_action): New enum.
        (__libc_message): Replace int with enum __libc_message_action.
        (__fortify_fail_abort): New hidden prototype.
        * malloc/malloc.c (malloc_printerr): Update __libc_message calls.
        * sysdeps/posix/libc_fatal.c (__libc_message): Replace int
        with enum __libc_message_action.  Call BEFORE_ABORT only if
        action includes do_backtrace.
        (__libc_fatal): Update __libc_message call.

commit 94070f86c0c849c71ed2e7e2189bb4d1f7411a17
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Jul 10 15:53:32 2017 -0300

    posix: Add p{read,write}v2 RWF_NOWAIT flag (BZ#21738)
    
    Linux 4.12 (b745fafaf70c0a98a2e1e7ac8cb14542889ceb0e) adds a new
    p{read,write}v2 flag RWF_NOWAIT.  This patch adds it for linux
    uio-ext.h header.
    
    Checked on x86_64-linux-gnu (on a 4.10 kernel).
    
        [BZ #21738]
        * manual/llio.texi (RWF_NOWAIT): New item.
        * misc/tst-preadvwritev2-common.c (do_test_with_invalid_flags):
        Add RWF_NOWAIT check.
        * sysdeps/unix/sysv/linux/bits/uio-ext.h (RWF_NOWAIT): New flag.

commit 2a91300176a5991d9825eba085e502196a3f47cd
Author: Akhilesh Kumar <address@hidden>
Date:   Tue Jul 11 13:49:17 2017 +0530

    Fixed abday for ar_JO/ar_LB/ar_SY
    
        [BZ #21749]
        * locales/ar_JO (LC_TIME): Fix abday
        * locales/ar_LB (LC_TIME): Fix abday
        * locales/ar_SY (LC_TIME): Fix abday

commit 7593c977aabdce4e441bcb778d2b984ef5bb8910
Author: Akhilesh Kumar <address@hidden>
Date:   Tue Jul 11 12:46:39 2017 +0200

    Fix abday for ar_SA
    
        [BZ #21748, BZ #19066]
            * locales/ar_SA (LC_TIME): Fix abday

commit 2c804457879c2dd76823d1b47f1a1eba5073727c
Author: Stefan Liebler <address@hidden>
Date:   Tue Jul 11 10:37:03 2017 +0200

    S390: Fix tst-ptrace-singleblock if kernel does not support 
PTRACE_SINGLEBLOCK.
    
    The request PTRACE_SINGLEBLOCK was introduced in Linux 3.15.  Thus the 
ptrace call
    will fail on older kernels.
    Thus the test is now testing PTRACE_SINGLEBLOCK with data argument pointing 
to a
    buffer on stack which is assumed to fail.  If the request would be 
interpreted as
    PTRACE_GETREGS, then the ptrace call will not fail and the regs are written 
to buf.
    
    If we run with a kernel with support for PTRACE_SINGLEBLOCK a ptrace call 
with
    data=NULL, returns zero with no error.  If we run with a kernel without 
support for
    PTRACE_SINGLEBLOCK a ptrace call with data=NULL reports an error.
    In the latter case, the test is just continuing with PTRACE_CONT.
    
    ChangeLog:
    
        * sysdeps/unix/sysv/linux/s390/tst-ptrace-singleblock.c:
        Support running on kernels without PTRACE_SINGLEBLOCK.

commit 38eea35ca7aa8909e2225da15dd5e1f27650ec71
Author: Eyolf Østrem <address@hidden>
Date:   Fri Jun 10 12:11:04 2016 -0400

    localedata: da_DK: set date_fmt [BZ #17297]
    
    The default setting is slightly off for Danish users -- the day and
    month displays should be swapped: "Jun 10" -> "10 Jun".

commit 43a9f537fc121a867981ca31ea9d79f33ce0fd24
Author: Akhilesh Kumar <address@hidden>
Date:   Mon Jul 10 09:11:56 2017 +0530

    Added yesstr and nostr to zh_HK locale
    
    yesstr and nostr  are missing for zh_HK language locale
    
        [BZ #21733]
        * locales/zh_HK (LC_MESSAGES): add yesstr and nostr

commit de47eab02a7527533b7a1f315fe9dae66a6ed0bc
Author: Akhilesh Kumar <address@hidden>
Date:   Mon Jul 10 08:57:28 2017 +0530

    Fix abday strings for address@hidden to match the day strings
    
    Hindi language is similar to Kashmiri(devanagari) language.
    
        [BZ #21743]
        * locales/address@hidden (LC_TIME): Fixed abday strings

commit eb73083e5e825460050f8149f8b2869c4ef662cd
Author: H.J. Lu <address@hidden>
Date:   Sun Jul 9 11:52:33 2017 -0700

    Don't include _dl_resolve_conflicts in libc.a [BZ #21742]
    
    Since _dl_resolve_conflicts is only used in elf/rtld.c, don't include
    it in libc.a.
    
        [BZ #21742]
        * elf/Makefile (dl-routines): Move dl-conflict to ...
        (rtld-routines): Here.

commit 7a499756abdd4ec56658e319c0cee4220a320652
Author: H.J. Lu <address@hidden>
Date:   Mon Jul 10 04:44:24 2017 -0700

    x86-64: Test memmove_chk and memset_chk only in libc.so [BZ #21741]
    
    Since there are no multiarch versions of memmove_chk and memset_chk,
    test multiarch versions of memmove_chk and memset_chk only in libc.so.
    
        [BZ #21741]
        * sysdeps/x86_64/multiarch/ifunc-impl-list.c
        (__libc_ifunc_impl_list): Test memmove_chk and memset_chk only
        in libc.so.

commit 5fa205d48516019481b316013a088d516f551a7a
Author: Mike FABIAN <address@hidden>
Date:   Mon Jul 10 09:00:45 2017 +0200

    Add iI and eE to  yesexpr and noexpr respectively for ts_ZA

commit 2e783eb9059d64d879293e5c0f7033e721ec9b56
Author: John David Anglin <address@hidden>
Date:   Sun Jul 9 15:22:41 2017 -0400

    Update hppa ulps.

commit c5f70682a53ae118a1541fe5a8142ca1008098ba
Author: John David Anglin <address@hidden>
Date:   Sun Jul 9 15:01:11 2017 -0400

    Use generic pthread support on hppa.

commit 58d021c83699a4b363ce4db2d932a0d5f864549e
Author: H.J. Lu <address@hidden>
Date:   Sun Jul 9 11:42:50 2017 -0700

    x86-64: Update comments in IFUNC selectors
    
        * sysdeps/x86_64/multiarch/memcmp.c: Update comments.
        * sysdeps/x86_64/multiarch/memmove.c: Likewise.
        * sysdeps/x86_64/multiarch/memrchr.c: Likewise.
        * sysdeps/x86_64/multiarch/memset.c: Likewise.
        * sysdeps/x86_64/multiarch/rawmemchr.c: Likewise.
        * sysdeps/x86_64/multiarch/strchrnul.c: Likewise.
        * sysdeps/x86_64/multiarch/strlen.c: Likewise.
        * sysdeps/x86_64/multiarch/strnlen.c: Likewise.
        * sysdeps/x86_64/multiarch/wcschr.c: Likewise.
        * sysdeps/x86_64/multiarch/wcscpy.c: Likewise.
        * sysdeps/x86_64/multiarch/wcslen.c: Likewise.
        * sysdeps/x86_64/multiarch/wcsnlen.c: Likewise.
        * sysdeps/x86_64/multiarch/wmemchr.c: Likewise.
        * sysdeps/x86_64/multiarch/wmemcmp.c: Likewise.
        * sysdeps/x86_64/multiarch/wmemset.c: Likewise.
        * sysdeps/x86_64/multiarch/wmemset_chk.c: Likewise.

commit 4df54c89bb22061763da883c3f30a592353e7c30
Author: H.J. Lu <address@hidden>
Date:   Sun Jul 9 11:38:37 2017 -0700

    x86-64: Update comments in ifunc-impl-list.c
    
    All x86-64 IFUNC selectors are written in C now.  Update comments to
    reflect it.
    
        * sysdeps/x86_64/multiarch/ifunc-impl-list.c: Update comments.

commit 7023e6db9950f9a2addc073fe504d12146680f02
Author: John David Anglin <address@hidden>
Date:   Sun Jul 9 13:48:04 2017 -0400

    Fix BZ #21049.

commit 218bb835cd0c7b4e3c068d0657efd3dae2551166
Author: Andreas Schwab <address@hidden>
Date:   Sat Jul 8 21:08:34 2017 +0200

    build-many-glibcs.py: also build profiled objects

commit 51e945a8f950a6695754b11c1e6fba8bb750e100
Author: Akhilesh Kumar <address@hidden>
Date:   Fri Jul 7 18:01:49 2017 +0530

    Added yesstr/nostr for kw_GB
    
        [BZ #21734]
        * locales/kw_GB (LC_MESSAGES): add yesstr and nostr

commit 60e6738932079295606c9788a5add478c7a4532e
Author: Akhilesh Kumar <address@hidden>
Date:   Fri Jul 7 09:28:53 2017 +0530

    Added  missing yesstr and nostr for Tsonga language locale [LC_MESSAGES]
    
        [BZ #21727]
        * locales/ts_ZA(LC_MESSAGES): add yesstr and nostr
    
    Signed-off-by: Akhilesh Kumar <address@hidden>

commit 42c1c0e7f52a4c915047f2aa36542481e4e2863a
Author: Akhilesh Kumar <address@hidden>
Date:   Fri Jul 7 12:54:22 2017 +0530

    Fix LC_NAME for hi_IN
    
    During Hindi Locale review I found many fields are incorrect
    
        [BZ #21729]
        * locales/hi_IN (LC_NAME): Fix name_mr, name_mrs, name_miss, name_ms
    
    Signed-off-by: Akhilesh Kumar <address@hidden>

commit 254bdaeb060095fb5025287daa62e79d141f0d50
Author: Akhilesh Kumar <address@hidden>
Date:   Thu Jul 6 15:01:17 2017 +0530

    yesstr/nostr missing for Xhosa language locale
    
    During Locale verification I observed that
    yesstr and nostr  are missing for Xhosa language locale
    for South Africa
    
        [BZ #21724]
        * locales/xh_ZA (LC_MESSAGES): add yesstr and nostr
    
    Signed-off-by: Akhilesh Kumar <address@hidden>

commit c58ba95be965168e51e5fe9803654f38f4b58efd
Author: Peng Wu <address@hidden>
Date:   Thu Jul 6 14:33:56 2017 +0530

    Add yesstr and nostr to zh_CN locale
    
        [BZ #21723]
        * locales/zh_CN (LC_MESSAGES): add yesstr and nostr

commit bc6bd727cd54f20f0d9a5e24e9424a53b0f9c47c
Author: Akhilesh Kumar <address@hidden>
Date:   Thu Jul 6 13:36:35 2017 +0530

    Incorrect Full Weekday names for address@hidden
    
    During Locale verification I observed that
    Incorrect Full Weekday names for address@hidden
    Reference is taken from
    http://www.mkraina.com/PDF/3-Self-authored%20Works%20(English)/15.pdf
    
    And kashmiri devanagari travel book and other sources
    
        [BZ #21721]
        * locales/address@hidden: Full weekday name Fix.
    
    Signed-off-by: Akhilesh Kumar <address@hidden>

commit be8aa923a70da16ebabe85e912abc6b815bbdcb4
Author: DJ Delorie <address@hidden>
Date:   Thu Jul 6 19:54:13 2017 -0400

    * manual/tunables.texi: Add missing @end deftp.

commit 9f5a1271315b0e7c7828f2d8077ab33dca3ee8bd
Author: Florian Weimer <address@hidden>
Date:   Thu Jul 6 14:03:39 2017 +0200

    resolv: Deal with non-deterministic address order in tst-resolv-basic

commit d5c3fafc4307c9b7a4c7d5cb381fcdbfad340bcc
Author: DJ Delorie <address@hidden>
Date:   Thu Jul 6 13:37:30 2017 -0400

    Add per-thread cache to malloc
    
    * config.make.in: Enable experimental malloc option.
    * configure.ac: Likewise.
    * configure: Regenerate.
    * manual/install.texi: Document it.
    * INSTALL: Regenerate.
    * malloc/Makefile: Likewise.
    * malloc/malloc.c: Add per-thread cache (tcache).
    (tcache_put): New.
    (tcache_get): New.
    (tcache_thread_freeres): New.
    (tcache_init): New.
    (__libc_malloc): Use cached chunks if available.
    (__libc_free): Initialize tcache if needed.
    (__libc_realloc): Likewise.
    (__libc_calloc): Likewise.
    (_int_malloc): Prefill tcache when appropriate.
    (_int_free): Likewise.
    (do_set_tcache_max): New.
    (do_set_tcache_count): New.
    (do_set_tcache_unsorted_limit): New.
    * manual/probes.texi: Document new probes.
    * malloc/arena.c: Add new tcache tunables.
    * elf/dl-tunables.list: Likewise.
    * manual/tunables.texi: Document them.
    * NEWS: Mention the per-thread cache.

commit 3cefdd7310a5d1fad45648d9346e47df9c185fdc
Author: Joseph Myers <address@hidden>
Date:   Thu Jul 6 17:01:03 2017 +0000

    Increase some test timeouts.
    
    This patch increases the timeouts for some tests that I've seen timing
    out on slow systems in my 2.26 release testing.  (In the case of
    tst-tsearch.c, increasing the timeout means removing a setting of 10
    that was put there before the default timeout was increased to 20
    seconds, so putting the default into effect.)
    
        * iconvdata/tst-loading.c (TIMEOUT): Define to 30.
        * misc/tst-tsearch.c (TIMEOUT): Remove.
        * nptl/tst-create-detached.c (TIMEOUT): Define to 100.
        * nptl/tst-robust-fork.c (TIMEOUT): Likewise.
        * nptl/tst-rwlock19.c (TIMEOUT): Likewise.
        * string/tst-cmp.c (TIMEOUT): Define to 600.

commit 1bea5858dd5b2615288e96525f3918e35f42dd2d
Author: Rafal Luzynski <address@hidden>
Date:   Sat Jul 1 02:22:37 2017 +0200

    Arabic scripts: More fixes after the recent import.
    
    After the recent import of month names from CLDRv31 (bug 21217,
    commit c853f14) more imports are also needed, mostly abbreviated month
    names.
    
    This patch also updates May (full month name) in ps_AF which was
    skipped in the previous patch.
    
    Incidentally, this import fixes bug 17225 (ar_SY) and partially
    bug 19066 (ar_SA).
    
    CLDR currently has a bug in the full month name for October for ar_IQ, see
    http://unicode.org/cldr/trac/ticket/10460
    
        * localedata/locales/ar_DZ (abmon): Full import from CLDR, abmon
        is no longer abbreviated.
        * localedata/locales/ar_IQ (abmon): Likewise.
        * localedata/locales/ar_MA (abmon): Likewise.
        * localedata/locales/ar_TN (abmon): Likewise.
        * localedata/locales/ps_AF (abmon): Likewise.
        * localedata/locales/ug_CN (abmon): Likewise.
        * localedata/locales/ar_SA (abmon): Likewise, partially
        fixes bug 19066.
        * localedata/locales/ks_IN (abmon): A copy of mon.
        * localedata/locales/ur_IN (abmon): Oct reworded "اكتوبر" to
        "اکتوبر" (same change as mon).
        * localedata/locales/ur_PK (abmon): Same changes as mon applied.
    
        * localedata/locales/ps_AF (mon): May reworded "می" to "مۍ".
    
        [BZ #17225]
        * localedata/locales/ar_SY (abmon): May reworded "نوار" to
        "أيار", this closes bug 17225.
        * localedata/locales/ar_JO (abmon): Likewise.
        * localedata/locales/ar_LB (abmon): Likewise.

commit 3adfef7eaafae8dc00fa12cdecde68c01b7d565a
Author: Matthew Krupcale <address@hidden>
Date:   Thu Jul 6 10:22:20 2017 -0300

    nptl: Fix typo on __have_pthread_attr_t (BZ#21715)
    
    This patch fixes some build issues when including types/sigevent_t.h
    along with bits/pthreadtypes.h.
    
    Checked on x86_64-linux-gnu and on a build on supported major ABIs.
    
        [BZ #21715]
        * sysdeps/nptl/bits/pthreadtypes.h (__have_pthread_attr_t): Fix typo
        on definition.

commit 031e519c95c069abe4e4c7c59e2b4b67efccdee5
Author: H.J. Lu <address@hidden>
Date:   Thu Jul 6 04:43:06 2017 -0700

    x86-64: Align the stack in __tls_get_addr [BZ #21609]
    
    This change forces realignment of the stack pointer in __tls_get_addr, so
    that binaries compiled by GCCs older than GCC 4.9:
    
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58066
    
    continue to work even if vector instructions are used in glibc which
    require the ABI stack realignment.
    
    __tls_get_addr_slow is added to handle the slow paths in the default
    implementation of__tls_get_addr in elf/dl-tls.c.  The new __tls_get_addr
    calls __tls_get_addr_slow after realigning the stack.  Internal calls
    within ld.so go directly to the default implementation of __tls_get_addr
    because they do not need stack realignment.
    
        [BZ #21609]
        * sysdeps/x86_64/Makefile (sysdep-dl-routines): Add tls_get_addr.
        (gen-as-const-headers): Add rtld-offsets.sym.
        * sysdeps/x86_64/dl-tls.c: New file.
        * sysdeps/x86_64/rtld-offsets.sym: Likwise.
        * sysdeps/x86_64/tls_get_addr.S: Likewise.
        * sysdeps/x86_64/dl-tls.h: Add multiple inclusion guards.
        * sysdeps/x86_64/tlsdesc.sym (TI_MODULE_OFFSET): New.
        (TI_OFFSET_OFFSET): Likwise.

commit 0cae0b1a281be45280e12e668434ef2f183edfda
Author: Akhilesh Kumar <address@hidden>
Date:   Wed Jul 5 12:17:26 2017 +0530

    Pashto yesstr/nostr locale are missing
    
    [BZ #21711]
    During Locale verification I observed that
    
    yesstr and nostr are missing for Pashto [LC_MESSAGES] Locale
    
    For Afghanistan reference google translate and Pashto travel book.

commit db6b2f25220f1cf345656164211fd549c22189dd
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Jun 29 12:05:01 2017 -0300

    posix: Fix default posix_spawn return value
    
    This patch fix the return value for error conditions for default
    posix_spawn (where the errno is expected).  It also avoid clobber
    errno on fork call.
    
    Checked on x86_64 (with Linux implementation removed).
    
        [BZ# 21697]
        * sysdeps/posix/spawni.c (__spawni_child): Fix return value.
        (__spawnix): Do not clober errno.

commit b8e0e03b7c452923df96e45ccbae60f8a9f4f684
Author: Carlos O'Donell <address@hidden>
Date:   Wed Jul 5 14:14:44 2017 -0400

    Fixup localedata/ChangeLog.
    
    - Rewrite recent entry to follow GNU ChangeLog format.
    - Convert spaces to tabs in one case.

commit 8d6cba414acb2133c673355ceccd37d272bfb657
Author: Joseph Myers <address@hidden>
Date:   Wed Jul 5 17:43:58 2017 +0000

    Edit and shorten float128 NEWS item.

commit cb3c27e87b914bde5ec00a02363536c76e08b850
Author: Florian Weimer <address@hidden>
Date:   Wed Jul 5 17:39:33 2017 +0200

    support: Add resolver testing mode which does not patch _res

commit d4165eedf5b85bfda3ea6b251f69838857e44925
Author: Florian Weimer <address@hidden>
Date:   Wed Jul 5 15:38:42 2017 +0200

    support: Add support_chroot_create and support_chroot_free

commit 76637a921f5d657998aa9a06981bf8a062ffd497
Author: Florian Weimer <address@hidden>
Date:   Wed Jul 5 12:53:14 2017 +0200

    support: Check isolation of loopback addresses in tst-support-namespace

commit 97e7b6aa422d0bcfebefba591a3a9b8f883916e1
Author: Akhilesh Kumar <address@hidden>
Date:   Wed Jul 5 17:22:43 2017 +0530

    Added Tok-Pisin locale.
    
    [BZ #21694]
    Added tok-pisin language locale for Papua New Guinea.
    
    Signed-off-by: Akhilesh Kumar <address@hidden>

commit 7e368000c093d157f848497a49ce59d7711d1967
Author: Joseph Myers <address@hidden>
Date:   Wed Jul 5 13:46:57 2017 +0000

    Consistently say "GNU C Library" in NEWS, not "glibc".

commit 2b2ccd0c638e715be95307842077eb7d81a648e9
Author: Zack Weinberg <address@hidden>
Date:   Wed Jul 5 09:03:00 2017 -0400

    Reorganize and revise NEWS for 2.26.

commit cc31b141f95410ee786bec09e2de8e4af4d112d0
Author: Akhilesh Kumar <address@hidden>
Date:   Tue Jul 4 10:54:08 2017 +0530

    For Breton yesstr/nostr locale are missing
    
    [BZ #21706]
    During Locale verification i observed that
    yesstr and nostr  are missing for Breton [LC_MESSAGES] locale
    
    Signed-off-by: Akhilesh Kumar <address@hidden>

commit d2e04918833d90bae7fe5410bb70a045bbd2b64d
Author: Szabolcs Nagy <address@hidden>
Date:   Tue Jul 4 16:05:12 2017 +0100

    Single threaded stdio optimization
    
    Locking overhead can be significant in some stdio operations
    that are common in single threaded applications.
    
    This patch adds the _IO_FLAGS2_NEED_LOCK flag to indicate if
    an _IO_FILE object needs to be locked and some of the stdio
    functions just jump to their _unlocked variant when not.  The
    flag is set on all _IO_FILE objects when the first thread is
    created.  A new GLIBC_PRIVATE libc symbol, _IO_enable_locks,
    was added to do this from libpthread.
    
    The optimization can be applied to more stdio functions,
    currently it is only applied to single flag check or single
    non-wide-char standard operations.  The flag should probably
    be never set for files with _IO_USER_LOCK, but that's just a
    further optimization, not a correctness requirement.
    
    The optimization is valid in a single thread because stdio
    operations are non-as-safe (so lock state is not observable
    from a signal handler) and stdio locks are recursive (so lock
    state is not observable via deadlock).  The optimization is not
    valid if a thread may be created while an stdio lock is taken
    and thus it should be disabled if any user code may run during
    an stdio operation (interposed malloc, printf hooks, etc).
    This makes the optimization more complicated for some stdio
    operations (e.g. printf), but those are bigger and thus less
    important to optimize so this patch does not try to do that.
    
        * libio/libio.h (_IO_FLAGS2_NEED_LOCK, _IO_need_lock): Define.
        * libio/libioP.h (_IO_enable_locks): Declare.
        * libio/Versions (_IO_enable_locks): New symbol.
        * libio/genops.c (_IO_enable_locks): Define.
        (_IO_old_init): Initialize flags2.
        * libio/feof.c.c (_IO_feof): Avoid locking when not needed.
        * libio/ferror.c (_IO_ferror): Likewise.
        * libio/fputc.c (fputc): Likewise.
        * libio/putc.c (_IO_putc): Likewise.
        * libio/getc.c (_IO_getc): Likewise.
        * libio/getchar.c (getchar): Likewise.
        * libio/ioungetc.c (_IO_ungetc): Likewise.
        * nptl/pthread_create.c (__pthread_create_2_1): Enable stdio locks.
        * libio/iofopncook.c (_IO_fopencookie): Enable locking for the file.
        * sysdeps/pthread/flockfile.c (__flockfile): Likewise.

commit 1ff6c67a252e59488a26e3c8f6690b29ef56e369
Author: Florian Weimer <address@hidden>
Date:   Tue Jul 4 16:12:46 2017 +0200

    sysconf: Use conservative default for _SC_NPROCESSORS_ONLN [BZ #21542]

commit 4446a885f3aeb3a33b95c72bae1f115bed77f0cb
Author: Florian Weimer <address@hidden>
Date:   Tue Jul 4 14:47:29 2017 +0200

    resolv: Fix resolv_conf _res matching
    
    A dot-less host name without an /etc/resolv.conf file caused an
    assertion failure in update_from_conf because the function would not
    deal correctly with the empty search list case.
    
    Thanks to Andreas Schwab for debugging assistence.

commit f0107724c92eefbc0637e2a7e142adf57e87e30b
Author: Joseph Myers <address@hidden>
Date:   Tue Jul 4 10:32:54 2017 +0000

    Update versions in build-many-glibcs.py.
    
    This patch updates build-many-glibcs.py to use the current release
    branch of binutils and current releases of GMP and the Linux kernel.
    
        * scripts/build-many-glibcs.py (Context.checkout): Default
        binutils version to 2.29 branch, GMP version to 6.1.2 and Linux
        kernel version to 4.12.

commit 89f6307c5d270ed4f11cee373031fa9f2222f2b9
Author: Florian Weimer <address@hidden>
Date:   Tue Jul 4 11:18:34 2017 +0200

    resolv: Fix improper assert in __resolv_conf_attach

commit e237357a5a0559dee92261f1914d1fa2cd43a1a8
Author: Florian Weimer <address@hidden>
Date:   Mon Jul 3 15:01:34 2017 +0200

    resolv: Introduce free list for resolv_conf index slosts

commit aef16cc8a4c670036d45590877d411a97f01e0cd
Author: Florian Weimer <address@hidden>
Date:   Mon Jul 3 21:06:23 2017 +0200

    resolv: Automatically reload a changed /etc/resolv.conf file [BZ #984]
    
    This commit enhances the stub resolver to reload the configuration
    in the per-thread _res object if the /etc/resolv.conf file has
    changed.  The resolver checks whether the application has modified
    _res and will not overwrite the _res object in that case.
    
    The struct resolv_context mechanism is used to check the
    configuration file only once per name lookup.

commit a1c4eb8794e789b5055d7ceb13b2b3231abf5e26
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 30 20:19:10 2017 +0200

    resolv: Mirror the entire resolver configuration in struct resolv_conf
    
    This commit adds the remaining unchanging members (which are loaded
    from /etc/resolv.conf) to struct resolv_conf.
    
    The extended name server list is currently not used by the stub
    resolver.  The switch depends on a cleanup: The _u._ext.nssocks
    array stores just a single socket, and needs to be replaced with
    a single socket value.
    
    (The compatibility gethostname implementation does not use the
    extended addres sort list, either.  Updating the compat code is
    not worthwhile.)

commit 3f853f22c87f0b671c0366eb290919719fa56c0e
Author: Florian Weimer <address@hidden>
Date:   Sat Jul 1 00:53:05 2017 +0200

    resolv: Lift domain search list limits [BZ #19569] [BZ #21475]
    
    This change uses the extended resolver state in struct resolv_conf to
    store the search list.  If applications have not patched the _res
    object directly, this extended search list will be used by the stub
    resolver during name resolution.

commit f30a54b21b83f254533c59ca72ad17af5249c6be
Author: Florian Weimer <address@hidden>
Date:   Mon Jul 3 20:31:23 2017 +0200

    resolv: Introduce struct resolv_conf with extended resolver state
    
    This change provides additional resolver configuration state which
    is not exposed through the _res ABI.  It reuses the existing
    initstamp field in the supposedly-private part of _res.  Some effort
    is undertaken to avoid memory safety issues introduced by applications
    which directly patch the _res object.
    
    With this commit, only the initstamp field is moved into struct
    resolv_conf.  Additional members will be added later, eventually
    migrating the entire resolver configuration.

commit 352f4ff9a268b81ef5d4b2413f582565806e4790
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 30 21:10:23 2017 +0200

    resolv: Introduce struct resolv_context [BZ #21668]
    
    struct resolv_context objects provide a temporary resolver context
    which does not change during a name lookup operation.  Only when the
    outmost context is created, the stub resolver configuration is
    verified to be current (at present, only against previous res_init
    calls).  Subsequent attempts to obtain the context will reuse the
    result of the initial verification operation.
    
    struct resolv_context can also be extended in the future to store
    data which needs to be deallocated during thread cancellation.

commit 4e45d83c92dbb5b8dc20654f32395108d18cf739
Author: Florian Weimer <address@hidden>
Date:   Mon Jul 3 17:41:19 2017 +0200

    resolv: Add preinit tests to resolv/tst-resolv-res_init-skeleton.c

commit 073ec86e5e4b7c3bf0a549d4d75cd68a05be287c
Author: Rafal Luzynski <address@hidden>
Date:   Thu Jun 29 02:23:28 2017 +0200

    More fixes after the recent import from CLDR-31
    
    After the recent import of month names from CLDR (bug 21217) more
    imports are also needed, mostly abbreviated month names.
    
        * localedata/locales/br_FR (abmon): Reworded "Eve " to "Mezh".
    
        * localedata/locales/fy_NL (abmon): Reworded "Maa" (March) to
        "Mrt" and "Maa" (May) to "Mai".
    
        * localedata/locales/lg_UG (abmon): Reworded "Jun" to "Juu".
    
        * localedata/locales/ln_CD (abmon): "yan", "fbl", "msi",
        and so on.
    
        * localedata/locales/mn_MN (abmon): "1-р сар", "2-р сар",
        "3-р сар", and so on.
    
        * localedata/locales/vi_VN (abmon): Reworded "Th01" to "Thg 1",
        "Th02" to "Thg 2" and so on.
    
        * localedata/locales/yo_NG (abday): "Àìkú", "Ajé", "Ìsẹ́gun",
        and so on, also comment updated to match the new content.
        (day): "Ọjọ́ Àìkú", "Ọjọ́ Ajé", "Ọjọ́ Ìsẹ́gun", 
and so on.
        (abmon): "Ṣẹ́rẹ́", "Èrèlè", "Ẹrẹ̀nà", and so on.
        (mon): Comment updated to match the actual content.
        (d_t_fmt): Changed "%A" to "%a" and "%B" to "%b".
    
        * localedata/locales/zu_ZA (abmon): "Jan", "Feb", "Mas",
        and so on, also comment updated to match the new content.
        (mon): comment updated to match the actual content.

commit 2572f356b18ddee03b331ba33f5a2ae65d031a59
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Mon Jul 3 10:46:13 2017 +0530

    powerpc: Clean up strlen and strnlen for power8
    
    To align a quadword aligned address to 64 bytes, maximum of three
    16 bytes load is needed for worst case instead of loading four times.

commit 8dc6133eff1c09382bc8f6f98c49fb807900eecd
Author: H.J. Lu <address@hidden>
Date:   Sat Jul 1 07:29:19 2017 -0700

    Use __builtin_popcount in __sched_cpucount [BZ #21696]
    
    posix/sched_cpucount.c assumes that size of __cpu_mask == size of long,
    which is incorrect for x32.  This patch uses __builtin_popcount, which
    is availabe in GCC 4.9, in posix/sched_cpucount.c.
    
    Tested on i686, x86-64 and x32 with multi-arch disabled.
    
        [BZ #21696]
        * posix/sched_cpucount.c: Don't include <limits.h>.
        (__sched_cpucount): Use __builtin_popcount.

commit 47ea614b9afcdaef80e09d58afcdad4f96ba3f15
Author: Siddhesh Poyarekar <address@hidden>
Date:   Sat Jul 1 19:51:44 2017 +0530

    Fix typo in glibc.tune.cpu name

commit 8466ee1cb7c2041d8471dad0aa53af35ab599012
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Thu Jun 29 15:34:05 2017 -0300

    float128: Add signbit alternative for old compilers
    
    In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*,
    e.g.: __builtin_signbitf128, before GCC 6.  However, there has never
    been a __builtin_signbitf128 in GCC and the type-generic builtin is
    only available since GCC 6.  For older GCC, this patch defines
    __builtin_signbitf128 to __signbitf128, so that the internal function
    is used instead of the non-existent builtin.
    
    This patch also changes the implementation of __signbitf128, because
    it was reusing the implementation of __signbitl from ldbl-128, which
    calls __builtin_signbitl.  Using the long double version of the
    builtin is not correct on machines where _Float128 is ABI-distinct
    from long double (i.e.: ia64, powerpc64le, x86, x86_84).  The new
    implementation does not rely on builtins when being built with GCC
    versions older than 6.0.
    
    The new code does not currently affect powerpc64le builds, because
    only GCC 6.2 fulfills the requirements from configure.  It might
    affect powerpc64le builds if those requirements are backported to
    older versions of the compiler.  The new code affects x86_64 builds,
    since glibc is supposed to build correctly with older versions of GCC.
    
    Tested for powerpc64le and x86_64.
    
        * include/math.h (__signbitf128): Define as hidden.
        * sysdeps/ieee754/float128/s_signbitf128.c (__signbitf128):
        Reimplement without builtins.
        * sysdeps/ia64/bits/floatn.h [!__GNUC_PREREQ (6, 0)]
        (__builtin_signbitf128): Define to __signbitf128.
        * sysdeps/powerpc/bits/floatn.h: Likewise.
        * sysdeps/x86/bits/floatn.h: Likewise.

commit 9b8f8593e5d919d8ea9a5f21ce7473246651ec2f
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Nov 28 15:18:22 2016 -0200

    Consolidate Linux fcntl implementation
    
    This patch consolidates the fcntl Linux syscall generation on
    sysdeps/unix/sysv/linux/fcntl.c.  It basically removes all the
    architecture specific implementations.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    aarch64-linux-gnu, arm-linux-gnueabihf, and powerpc64le-linux-gnu.
    
        * sysdeps/unix/sysv/linux/arm/fcntl.c: Remove file.
        * sysdeps/unix/sysv/linux/generic/wordsize-32/fcntl.c: Likewise.
        * sysdeps/unix/sysv/linux/hppa/fcntl.c: Likewise.
        * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.
        * sysdeps/unix/sysv/linux/m68k/fcntl.c: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/fcntl.c: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/fcntl.c: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n32/fcntl.c: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/fcntl.c: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/fcntl.c: Likewise.
        * sysdeps/unix/sysv/linux/sh/fcntl.c: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/fcntl.c: Likewise.
        * sysdeps/unix/sysv/linux/fcntl.c: New file.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: Refactor to
        use default implementation.

commit 28cfa3a48e59f9c6b9bc25a003a4ede435841382
Author: Siddhesh Poyarekar <address@hidden>
Date:   Fri Jun 30 22:58:39 2017 +0530

    tunables, aarch64: New tunable to override cpu
    
    Add a new tunable (glibc.tune.cpu) to override CPU identification on
    aarch64.  This is useful in two cases: one where it is desirable to
    pretend to be another CPU for purposes of testing or because routines
    written for that CPU are beneficial for specific workloads and second
    where the underlying kernel does not support emulation of MRS to get
    the MIDR of the CPU.
    
        * elf/dl-tunables.h (tunable_is_name): Move from...
        * elf/dl-tunables.c (is_name): ... here.
        (parse_tunables, __tunables_init): Adjust.
        * manual/tunables.texi: Document glibc.tune.cpu.
        * sysdeps/aarch64/dl-tunables.list: New file.
        * sysdeps/unix/sysv/linux/aarch64/cpu-features.c (struct
        cpu_list): New type.
        (cpu_list): New list of CPU names and their MIDR.
        (get_midr_from_mcpu): New function.
        (init_cpu_features): Override MIDR if necessary.

commit ab85da15301c552e3ea4577a6432aa028bee9295
Author: Siddhesh Poyarekar <address@hidden>
Date:   Fri Jun 30 22:57:12 2017 +0530

    aarch64: Call all string function implementations in tests
    
    The string function implementations implemented so far do not use any
    instructions that may deviate from standard aarch64, so it is possible
    for all routines to run on all armv8 hardware.  Select all
    implementations in the benchmarks and tests.
    
        * sysdeps/aarch64/multiarch/ifunc-impl-list.c
        (__libc_ifunc_impl_list): Unconditionally select thunderx
        routine for testing.

commit 4e61a6be446026c327aa70cef221c9082bf0085d
Author: H.J. Lu <address@hidden>
Date:   Fri Jun 30 09:11:08 2017 -0700

    i386: Increase MALLOC_ALIGNMENT to 16 [BZ #21120]
    
    GCC 7 changed the definition of max_align_t on i386:
    
    
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=9b5c49ef97e63cc63f1ffa13baf771368105ebe2
    
    As a result, glibc malloc no longer returns memory blocks which are as
    aligned as max_align_t requires.
    
    This causes malloc/tst-malloc-thread-fail to fail with an error like this
    one:
    
    error: allocation function 0, size 144 not aligned to 16
    
    This patch moves the MALLOC_ALIGNMENT definition to <malloc-alignment.h>
    and increases the malloc alignment to 16 for i386.
    
        [BZ #21120]
        * malloc/malloc-internal.h (MALLOC_ALIGNMENT): Moved to ...
        * sysdeps/generic/malloc-alignment.h: Here.  New file.
        * sysdeps/i386/malloc-alignment.h: Likewise.
        * sysdeps/generic/malloc-machine.h: Include <malloc-alignment.h>.

commit a9270e673dcc1ef1d2c2d96fa09d468c59883d88
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 30 18:02:11 2017 +0200

    resolv: Improve debugging output from tst-resolv-res_init

commit b606c6ce66d4772068bfe3e410c28a247633ee24
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 30 11:32:19 2017 +0200

    resolv: Remove source argument fron res_options

commit 3f8f1eb6b0ca45205cea3591f27727e21d598f62
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 30 11:32:12 2017 +0200

    resolv: Remove DEBUG from resolv/res_query.c

commit 6da48ca0b2cf328d9ef43c510e74a858c77a1e96
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 30 11:32:04 2017 +0200

    resolv: Reformat resolv/res_data.c to GNU style

commit 037751179905c7d6d624f287029237565465fa9a
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 30 11:31:54 2017 +0200

    resolv: Move res_query, res_search res_querydomain, hostalias
    
    From res_data.c to query.c

commit ded603542a8af41dc0c45af883d52390683f63aa
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 30 11:31:47 2017 +0200

    resolv: Move res_isourserver, res_send from res_data.c to res_send.c

commit 6781d8e693eb9e1251875222db5c9885d7ebb596
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 30 11:31:41 2017 +0200

    resolv: Turn _res_opcodes into a compatibility symbol

commit d85f99679d89fb47426301620b7a980388fddcfd
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 30 11:31:35 2017 +0200

    resolv: Move fp_nquery, fp_query, p_query, _res_opcodes
    
    From res_data.c to res_debug.c.
    
    Also drop the unnecessary _res initialization from fp_nquery.

commit 4d4ce84924dbde90294522598212e997b5f719e9
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 30 11:31:29 2017 +0200

    resolv: Remove unused resolv/res_debug.h header file

commit 09fbb56ad69b9e02fb3710a9234566536a96facf
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 30 11:31:23 2017 +0200

    resolv: Remove DEBUG from resolv/res_send.c

commit 5ca4aaea1840b3005c2de4cc73269a55e34ae2c3
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 30 11:31:18 2017 +0200

    resolv: Move the res_mkquery function to the resolv/mk_query.c file

commit 74084febc4b668ca2258d88cade6fa5e28364ac6
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 30 11:31:12 2017 +0200

    resolv: Reformat resolv/res_mkquery.c to GNU style

commit 7ab27b76d2d47942bc2ed74f674b62c3a51994bb
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 30 11:31:02 2017 +0200

    resolv: Remove DEBUG macro from resolv/res_mkquery.c

commit 5f17245d3e30ce9510a4061cf2a277cd8f6a815f
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 30 11:30:48 2017 +0200

    support: Report actual exit status in support_capture_subprocess_check

commit 5b757a51b514ea163bbec0a53dbbc06bb1b29241
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 30 10:43:33 2017 +0200

    resolv: Make RES_ROTATE start with a random name server [BZ #19570]
    
    Do not copy the actual name server addresses to rotate them.  Use a
    global rotation offset instead.

commit 867c5c33e2735567c95bf3a8b0a520bedd34430a
Author: Mike Frysinger <address@hidden>
Date:   Mon Apr 18 01:32:55 2016 -0400

    localedata: CLDRv29: update LC_ADDRESS.lang_name translations
    
    This updates a bunch of locales based on CLDR v29 data:
      az_AZ: changing Azərbaycanca to azərbaycan dili
      be_BY: changing беларуская мова to беларуская
      bem_ZM: changing iciBemba to Ichibemba
      bg_BG: changing български език to български
      bo_CN: changing པོད་སྐད་ to བོད་སྐད་
      bo_IN: changing པོད་སྐད་ to བོད་སྐད་
      br_FR: changing Brezhoneg to brezhoneg
      brx_IN: lang_name: setting to बड़ो
      ce_RU: changing нохчийн мотт to нохчийн
      cs_CZ: changing Čeština to čeština
      dz_BT: changing (རྫོང་ཁ to རྫོང་ཁ
      el_CY: changing ελληνικά to Ελληνικά
      el_GR: changing ελληνικά to Ελληνικά
      es_AR: changing Español to español
      es_BO: changing Español to español
      es_CL: changing Español to español
      es_CO: changing Español to español
      es_CR: changing Español to español
      es_CU: changing Español to español
      es_DO: changing Español to español
      es_EC: changing Español to español
      es_ES: changing Español to español
      es_GT: changing Español to español
      es_HN: changing Español to español
      es_MX: changing Español to español
      es_NI: changing Español to español
      es_PA: changing Español to español
      es_PE: changing Español to español
      es_PR: changing Español to español
      es_PY: changing Español to español
      es_SV: changing Español to español
      es_US: changing Español to español
      es_UY: changing Español to español
      es_VE: changing Español to español
      et_EE: changing eesti keel to eesti
      eu_ES: changing Euskara to euskara
      fr_BE: changing Français to français
      fr_CA: changing Français to français
      fr_CH: changing Français to français
      fr_FR: changing Français to français
      fr_LU: changing Français to français
      fur_IT: changing Furlan to furlan
      fy_NL: changing Frysk to West-Frysk
      gl_ES: changing Galego to galego
      gv_GB: changing y Ghaelg to Gaelg
      he_IL: lang_name: setting to עברית
      hsb_DE: changing Hornjoserbšćina to hornjoserbšćina
      hy_AM: changing Հայերեն to հայերեն
      id_ID: changing Bahasa Indonesia to Bahasa Indonesia
      it_CH: changing Italiano to italiano
      it_IT: changing Italiano to italiano
      kl_GL: changing Kalaallisut to kalaallisut
      km_KH: changing ភាសាខ្មែរ to ខ្មែរ
      ko_KR: changing 한국말 to 한국어
      ks_IN: changing kạ̄šur to کٲشُر
      kw_GB: changing Kernowek to kernewek
      ky_KG: changing Кыргызча to кыргызча
      lg_UG: changing Oluganda to Luganda
      lt_LT: changing lietuvių kalba to lietuvių
      lv_LV: changing latviešu valoda to latviešu
      mk_MK: changing македонск/и јазик to македонски
      mn_MN: changing Монгол хэл to монгол
      nb_NO: changing Bokmål to norsk bokmål
      nn_NO: changing Nynorsk to nynorsk
      os_RU: lang_name: setting to ирон
      ru_RU: lang_name: setting to русский
      ru_UA: lang_name: setting to русский
      se_NO: changing Davvisámegiella to davvisámegiella
      sk_SK: lang_name: setting to slovenčina
      ta_IN: lang_name: setting to தமிழ்
      ta_LK: lang_name: setting to தமிழ்
      tk_TM: changing Türkmençe to türkmençe
      tr_CY: changing Turkish to Türkçe
      tr_TR: changing Turkish to Türkçe
      ur_IN: lang_name: setting to {اردو}
      ur_PK: lang_name: setting to {اردو}
      vi_VN: changing Việt ngữ to Tiếng Việt
      yo_NG: changing Yorùbá to Èdè Yorùbá
      zu_ZA: changing IsiZulu to isiZulu
    
    Most of these are simple case changes, but they match the CLDR db.
    A search for a few of the others suggests they're also correct.

commit e78dc67889c35d9a77e043930dc234005cdcbc76
Author: Joseph Myers <address@hidden>
Date:   Thu Jun 29 19:44:43 2017 +0000

    SPARC sys/ucontext.h namespace fixes (bug 21457).
    
    This patch fixes various miscellaneous namespace issues in the SPARC
    sys/ucontext.h header.  These are similar to changes made previous to
    other sys/ucontext.h headers, where the SPARC header was excluded from
    those previous patches because of its complexity.
    
    Tested for SPARC with build-many-glibcs.py.
    
        [BZ #21457]
        * sysdeps/unix/sysv/linux/sparc/sys/ucontext.h (__ctx): New macro.
        [__WORDSIZE == 64] (MC_TSTATE): Define only for [__USE_MISC].
        [__WORDSIZE == 64] (MC_PC): Likewise.
        [__WORDSIZE == 64] (MC_NPC): Likewise.
        [__WORDSIZE == 64] (MC_Y): Likewise.
        [__WORDSIZE == 64] (MC_G1): Likewise.
        [__WORDSIZE == 64] (MC_G2): Likewise.
        [__WORDSIZE == 64] (MC_G3): Likewise.
        [__WORDSIZE == 64] (MC_G4): Likewise.
        [__WORDSIZE == 64] (MC_G5): Likewise.
        [__WORDSIZE == 64] (MC_G6): Likewise.
        [__WORDSIZE == 64] (MC_G7): Likewise.
        [__WORDSIZE == 64] (MC_O0): Likewise.
        [__WORDSIZE == 64] (MC_O1): Likewise.
        [__WORDSIZE == 64] (MC_O2): Likewise.
        [__WORDSIZE == 64] (MC_O3): Likewise.
        [__WORDSIZE == 64] (MC_O4): Likewise.
        [__WORDSIZE == 64] (MC_O5): Likewise.
        [__WORDSIZE == 64] (MC_O6): Likewise.
        [__WORDSIZE == 64] (MC_O7): Likewise.
        [__WORDSIZE == 64] (MC_NGREG): Rename to __MC_NGREG and define to
        __MC_NGREG if [__USE_MISC].
        [__WORDSIZE == 64] (MC_MAXFPQ): Define only for [__USE_MISC].
        [__WORDSIZE == 64] (mc_gregset_t): Define using __MC_NGREG.
        [__WORDSIZE == 64] (struct mc_fq): Rename to struct __mc_fq.
        Define fields using __ctx.
        [__WORDSIZE == 64] (mc_fpu_t): Remove struct tag.  Define fields
        using __ctx.
        [__WORDSIZE == 64] (mcontext_t): Define fields using __ctx.
        (REG_PSR): Define only for [__USE_MISC].
        (REG_PC): Likewise.
        (REG_nPC): Likewise.
        (REG_Y): Likewise.
        (REG_G1): Likewise.
        (REG_G2): Likewise.
        (REG_G3): Likewise.
        (REG_G4): Likewise.
        (REG_G5): Likewise.
        (REG_G6): Likewise.
        (REG_G7): Likewise.
        (REG_O0): Likewise.
        (REG_O1): Likewise.
        (REG_O2): Likewise.
        (REG_O3): Likewise.
        (REG_O4): Likewise.
        (REG_O5): Likewise.
        (REG_O6): Likewise.
        (REG_O7): Likewise.
        [__WORDSIZE == 64] (REG_ASI): Define only for [__USE_MISC].
        [__WORDSIZE == 64] (REG_FPRS): Likewise.
        (NGREG): Rename to __NGREG and define to __NGREG if [__USE_MISC].
        (gregset_t): Define using __NGREG.
        (SPARC_MAXREGWINDOW): Rename to __SPARC_MAXREGWINDOW and define to
        __SPARC_MAXREGWINDOW if [__USE_MISC].
        (struct rwindow): Rename to struct __rwindow.  Define fields using
        __ctx.
        (rw_fp): Define only for [__USE_MISC].
        (rw_rtn): Likewise.
        (gwindows_t): Remove struct tag.  Define fields using __ctx and
        __SPARC_MAXREGWINDOW.
        (MAXFPQ): Define only for [__USE_MISC].
        (struct fpq): Rename to struct __fpq.  Define fields using __ctx.
        (struct fq): Rename to struct __fq.  Define fields using __ctx.
        (FPU_REGS_TYPE): Define only for [__USE_MISC].
        (FPU_DREGS_TYPE): Likewise.
        (V7_FPU_FSR_TYPE): Likewise.
        (V9_FPU_FSR_TYPE): Likewise.
        (V9_FPU_FPRS_TYPE): Likewise.
        [__WORDSIZE == 64] (fpregset_t): Remove struct tag.  Define fields
        using __ctx.
        [__WORDSIZE != 64] (fpregset_t): Likewise.
        [__WORDSIZE != 64] (xrs_t): Define fields using __ctx.
        [__WORDSIZE != 64] (XRS_ID): Define only for [__USE_MISC].
        [__WORDSIZE != 64] (mcontext_t): Define fields using __ctx.
        Rename field filler to __glibc_reserved1.
        * sysdeps/unix/sysv/linux/sparc/sparc32/ucontext_i.sym
        (MC_FILLER): Remove.

commit 84d8c5bc8b4815bbdd4395f419aed047db3b67e3
Author: Florian Weimer <address@hidden>
Date:   Thu Jun 29 13:32:39 2017 +0200

    vfprintf: Fix tst-vfprintf-mbs-prec and tst-vfprintf-user-type

commit ccfb2964726512f6669fea99a43afa714e2e6a80
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Apr 24 15:50:19 2017 -0300

    posix: Improve default posix_spawn implementation
    
    This patch improves the default posix implementation of posix_spawn{p}
    and align with Linux one.  The main idea is to fix some issues already
    fixed in Linux code, and deprecated vfork internal usage (source of
    various bug reports).  In a short:
    
       - It moves POSIX_SPAWN_USEVFORK usage and sets it a no-op.  Since
         the process that actually spawn the new process do not share
         memory with parent (with vfork), it fixes BZ#14750 for this
         implementation.
    
       - It uses a pipe to correctly obtain the return upon failure
         of execution (BZ#18433).
    
       - It correctly enable/disable asynchronous cancellation (checked
         on ptl/tst-exec5.c).
    
       - It correctly disable/enable signal handling.
    
    Using this version instead of Linux shows only one regression,
    posix/tst-spawn3, because of pipe2 usage which increase total
    number of file descriptor.
    
        * sysdeps/posix/spawni.c (__spawni_child): New function.
        (__spawni): Rename to __spawnix.

commit edc1686af0c0fc2eb535f1d38cdf63c1a5a03675
Author: Florian Weimer <address@hidden>
Date:   Thu Jun 29 09:37:13 2017 +0200

    vfprintf: Reuse work_buffer in group_number

commit 12d5853e22c348b537472b55c161e5da327de310
Author: Florian Weimer <address@hidden>
Date:   Thu Jun 29 09:37:04 2017 +0200

    vfprintf: Use struct scratch_buffer for positional arguments allocation

commit cd00e12d31dd9de465a0d5f2677fa71bc2b12d80
Author: Florian Weimer <address@hidden>
Date:   Thu Jun 29 09:34:45 2017 +0200

    _i18n_number_rewrite: Use struct scratch_buffer

commit 08d01cae60aa3966ed21e6ec70bbe9fef730e012
Author: Florian Weimer <address@hidden>
Date:   Thu Jun 29 09:34:22 2017 +0200

    vfprintf: Reduce WORK_BUFFER_SIZE for wchar_t builds

commit c11cfe8d7c1e219fa8c819187d8b030ce3b4e947
Author: Florian Weimer <address@hidden>
Date:   Thu Jun 29 09:33:43 2017 +0200

    vfprintf: Add test case for multi-byte/wide strings and precision

commit e2390be8e47352147215aff06b23927dc6ededb7
Author: Florian Weimer <address@hidden>
Date:   Thu Jun 29 09:33:09 2017 +0200

    vfprintf: Add test case for user-defined types and format specifiers

commit 1a920d9c26bc2794a22604e94a988f27f8b556f8
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Apr 24 15:48:01 2017 -0300

    posix: Adapt tst-spawn{2,3} to use libsupport.
    
    Checked on x86_64-linux-gnu.
    
        * posix/tst-spawn2.c (do_test): Use libsupport.
        * posix/tst-spawn3.c (do_test): Likewise.

commit fa562680ced07441f3edaf986f35d12516d8b081
Author: Joseph Myers <address@hidden>
Date:   Wed Jun 28 19:42:14 2017 +0000

    Fix gen-tgmath-tests.py output for GCC 7 <float.h>.
    
        * math/gen-tgmath-tests.py (Tests.__init__): Define
        __STDC_WANT_IEC_60559_TYPES_EXT__ at start of generated file.

commit 614d15f9324a871cc742a8952a3117c57831a3c5
Author: Joseph Myers <address@hidden>
Date:   Wed Jun 28 17:53:46 2017 +0000

    Support _Float128 in tgmath.h.
    
    This patch adds tgmath.h support for _Float128, so eliminating the
    awkward caveat in NEWS about the type not being supported there.  This
    does inevitably increase the size of macro expansions (which grows
    particularly fast when you have nested calls to tgmath.h macros), but
    only when _Float128 is supported and the declarations of _Float128
    interfaces are visible; otherwise the expansions are unchanged.
    
    Tested for x86_64 and arm.
    
        * math/tgmath.h: Include <bits/libc-header-start.h> and
        <bits/floatn.h>.
        (__TGMATH_F128): New macro.
        (__TGMATH_CF128): Likewise.
        (__TGMATH_UNARY_REAL_ONLY): Use __TGMATH_F128.
        (__TGMATH_UNARY_REAL_RET_ONLY): Likewise.
        (__TGMATH_BINARY_FIRST_REAL_ONLY): Likewise.
        (__TGMATH_BINARY_FIRST_REAL_STD_ONLY): New macro.
        (__TGMATH_BINARY_REAL_ONLY): Use __TGMATH_F128.
        (__TGMATH_BINARY_REAL_STD_ONLY): New macro.
        (__TGMATH_BINARY_REAL_RET_ONLY): Use __TGMATH_F128.
        (__TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY): Likewise.
        (__TGMATH_TERNARY_REAL_ONLY): Likewise.
        (__TGMATH_TERNARY_FIRST_REAL_RET_ONLY): Likewise.
        (__TGMATH_UNARY_REAL_IMAG): Use __TGMATH_CF128.
        (__TGMATH_UNARY_IMAG): Use __TGMATH_F128.
        (__TGMATH_UNARY_REAL_IMAG_RET_REAL): Use __TGMATH_CF128.
        (__TGMATH_BINARY_REAL_IMAG): Likewise.
        (nexttoward): Use __TGMATH_BINARY_FIRST_REAL_STD_ONLY.
        [__USE_MISC] (scalb): Use __TGMATH_BINARY_REAL_STD_ONLY.
        * math/gen-tgmath-tests.py (Type.init_types): Enable _FloatN and
        _FloatNx types if the corresponding HUGE_VAL macros are defined.

commit 0908a38adc6e479d4c52713b09417769282e2db0
Author: Joseph Myers <address@hidden>
Date:   Wed Jun 28 16:43:50 2017 +0000

    Use clog10 not __clog10 in tgmath.h log10 macro.
    
    As a GNU extension, for _GNU_SOURCE glibc's complex.h provides a
    clog10 function and tgmath.h supports complex arguments to the log10
    macro.  However, tgmath.h uses __clog10 not clog10 in defining the
    macro.
    
    There is no namespace reason (ignoring the block-scope namespace
    issues that would apply equally to *every* function called by tgmath.h
    macros) for using __clog10 here, since this is only for _GNU_SOURCE so
    clog10 is always visible when this macro definition is used.
    Furthermore, __clog10f128 is not exported, so supporting _Float128 in
    tgmath.h implies using clog10 not __clog10 there.  (__clog10 and
    clog10 aren't used in libstdc++ either, although that library would
    have a good case for using the __clog10 reserved-namespace export: the
    standard C++ library includes log10 of a complex number.)  This patch
    duly changes the header to use clog10, and enables tests of the macro
    for complex arguments.
    
    Tested for x86_64.
    
        * math/tgmath.h [__USE_GNU] (log10): Use clog10 not __clog10.
        * math/gen-tgmath-tests.py (Tests.add_all_tests): Test log10 for
        complex arguments.

commit d12a22c5d351cd1cc125a6345a949dfbc20f6f91
Author: Joseph Myers <address@hidden>
Date:   Wed Jun 28 16:31:10 2017 +0000

    Fix tgmath.h totalorder, totalordermag return type (bug 21687).
    
    The tgmath.h totalorder and totalordermag macros wrongly return a
    floating-point type.  They should return int, like the underlying
    functions.  This patch fixes them accordingly, updating tests
    including enabling tests of those functions from gen-tgmath-tests.py.
    
    Tested for x86_64.
    
        [BZ #21687]
        * math/tgmath.h (__TGMATH_BINARY_REAL_RET_ONLY): New macro.
        (totalorder): Use it.
        (totalordermag): Likewise.
        * math/gen-tgmath-tests.py (Tests.add_all_tests): Enable tests of
        totalorder and totalordermag.
        * math/test-tgmath.c (F(compile_test)): Do not call totalorder or
        totalordermag in arguments of calls to those functions.
        (NCALLS): Change to 134.

commit cfa44345234e161cb59987ed70e04719ba155867
Author: Joseph Myers <address@hidden>
Date:   Wed Jun 28 16:19:47 2017 +0000

    Simplify tgmath.h for integer return types.
    
    The tgmath.h macros for function with integer return types generate
    unnecessary casts to the return type.  Since in those cases the return
    type does not depend on the argument type, all the cases in the
    conditional expressions already have the right type, and no casts are
    needed; this patch removes them.
    
    Tested for x86_64.
    
        * math/tgmath.h (__TGMATH_UNARY_REAL_RET_ONLY): Do not take or
        cast to return type argument.
        (__TGMATH_TERNARY_FIRST_REAL_RET_ONLY): Likewise.
        (lrint): Update call to __TGMATH_UNARY_REAL_RET_ONLY.
        (llrint): Likewise.
        (lround): Likewise.
        (llround): Likewise.
        (ilogb): Likewise.
        (llogb): Likewise.
        (fromfp): Update call to __TGMATH_TERNARY_FIRST_REAL_RET_ONLY.
        (ufromfp): Likewise.
        (fromfpx): Likewise.
        (ufromfpx): Likewise.

commit 51737193a9810ceb1c516a2a71444fa70bcf8500
Author: Joseph Myers <address@hidden>
Date:   Wed Jun 28 16:01:20 2017 +0000

    Remove NO_LONG_DOUBLE conditionals in libm tests (bug 21607).
    
    As noted in bug 21607, NO_LONG_DOUBLE conditionals in libm tests are
    no longer effective.  For most this is harmless - they were only
    present because of long double functions not being declared with _LIBC
    defined, and _LIBC is no longer defined for building most tests.  For
    the few where this is actually relevant to the test, testing
    LDBL_MANT_DIG > DBL_MANT_DIG is more appropriate as that limits the
    test to public APIs.  This patch fixes the tests accordingly.
    
    Tested for x86_64 and arm.
    
        [BZ #21607]
        * math/basic-test.c [!NO_LONG_DOUBLE]: Change conditionals to
        [LDBL_MANT_DIG > DBL_MANT_DIG].
        * math/bug-nextafter.c [!NO_LONG_DOUBLE]: Remove conditionals.
        * math/bug-nexttoward.c [!NO_LONG_DOUBLE]: Likewise.
        * math/test-math-isinff.cc [!NO_LONG_DOUBLE]: Likewise.
        * math/test-math-iszero.cc [!NO_LONG_DOUBLE]: Likewise.
        * math/test-nan-overflow.c [!NO_LONG_DOUBLE]: Likewise.
        * math/test-nan-payload.c [!NO_LONG_DOUBLE]: Likewise.
        * math/test-nearbyint-except-2.c [!NO_LONG_DOUBLE]: Likewise.
        * math/test-nearbyint-except.c [!NO_LONG_DOUBLE]: Likewise.
        * math/test-powl.c [!NO_LONG_DOUBLE]: Likewise.
        * math/test-signgam-finite-c99.c [!NO_LONG_DOUBLE]: Likewise.
        * math/test-signgam-finite.c [!NO_LONG_DOUBLE]: Likewise.
        * math/test-signgam-main.c [!NO_LONG_DOUBLE]: Likewise.
        * math/test-snan.c [!NO_LONG_DOUBLE]: Likewise.
        * math/test-tgmath-ret.c [!NO_LONG_DOUBLE]: Likewise.
        * math/test-tgmath.c: Include <float.h>.
        [!NO_LONG_DOUBLE]: Change conditionals to [LDBL_MANT_DIG >
        DBL_MANT_DIG].
        * math/test-tgmath2.c: Include <float.h>.
        [!NO_LONG_DOUBLE]: Change conditionals to [LDBL_MANT_DIG >
        DBL_MANT_DIG].

commit 2dd0aec531ad03e8e1642f8642930451b23fe2ba
Author: Joseph Myers <address@hidden>
Date:   Wed Jun 28 14:20:21 2017 +0000

    Add more thorough generated tgmath.h test.
    
    This patch adds a more thorough test of tgmath.h macros, verifying
    both the return type and the function called for all the cases of
    valid argument types.  (Cases with current problems - I've just filed
    four bugs - are disabled or omitted pending fixing those problems.)
    The test uses a Python generator (works with both Python 2 and 3) to
    generate a C file which is then built and run as a test in the usual
    way (and that C file includes its own dummy definitions of libm
    functions similar to existing tgmath.h tests).  The motivation is to
    make it easier to add tests of tgmath.h for _Float128 when adding
    tgmath.h support for that type; the _FloatN / _FloatNx support is
    present in the script, but disabled until the tgmath.h support is
    written.
    
    Tested for x86_64, and for arm to check things in the long double =
    double case.  (In that case, it's OK to call either double or long
    double functions when the selected type is double or long double, as
    long as the return type of the macro is exactly correct.)
    
        * math/gen-tgmath-tests.py: New file.
        * math/Makefile [PYTHON] (tests): Add test-tgmath3.
        [PYTHON] (generated): Add test-tgmath3.c.
        [PYTHON] (CFLAGS-test-tgmath3.c): New variable.
        [PYTHON] ($(objpfx)test-tgmath3.c): New rule.

commit 073e8fa7739ed453d6854b834f290c263a6cdb9f
Author: Joseph Myers <address@hidden>
Date:   Wed Jun 28 11:31:50 2017 +0000

    Require binutils 2.25 or later to build glibc.
    
    This patch implements a requirement of binutils >= 2.25 (up from 2.22)
    to build glibc.  Tests for 2.24 or later on x86_64 and s390 are
    removed.  It was already the case, as indicated by buildbot results,
    that 2.24 was too old for building tests for 32-bit x86 (produced
    internal linker errors linking elf/tst-gnu2-tls1mod.so).  I don't know
    if any configure tests for binutils features are obsolete given the
    increased version requirement.
    
    Tested for x86_64.
    
        * configure.ac (AS): Require binutils 2.25 or later.
        (LD): Likewise.
        * configure: Regenerated.
        * sysdeps/s390/configure.ac (AS): Remove version check.
        * sysdeps/s390/configure: Regenerated.
        * sysdeps/x86_64/configure.ac (AS): Remove version check.
        * sysdeps/x86_64/configure: Regenerated.
        * manual/install.texi (Tools for Compilation): Document
        requirement for binutils 2.25 or later.
        * INSTALL: Regenerated.

commit f300dc7358e785dd92259514f57acd10f695d142
Author: H.J. Lu <address@hidden>
Date:   Wed Jun 28 04:03:57 2017 -0700

    Support building glibc with gold 1.14 or above [BZ #14995]
    
    This patch changes configure.ac to allow gold 1.14 or above to be used
    to configire glibc so that gold glibc bugs can be fixed.  Tested with
    
    CC="gcc -fuse-ld=gold" CXX="g++ -fuse-ld=gold"
    
    on Fedora 25 with gold 1.14 (20170623).  Gold 1.14 was first released
    in binutils 2.28.
    
    On x86-64, for "make check", I got
    
    Error in `/export/build/gnu/glibc-gold/build-x86_64-linux/elf/constload1': 
double free or corruption (fasttop): 0x00000000008755f0 ***
    ======= Backtrace: =========
    
/export/build/gnu/glibc-gold/build-x86_64-linux/libc.so.6(+0x772fb)[0x7f85225b52fb]
    
/export/build/gnu/glibc-gold/build-x86_64-linux/libc.so.6(+0x7d6c6)[0x7f85225bb6c6]
    
/export/build/gnu/glibc-gold/build-x86_64-linux/libc.so.6(+0x7df0e)[0x7f85225bbf0e]
    
/export/build/gnu/glibc-gold/build-x86_64-linux/dlfcn/libdl.so.2(+0x182d)[0x7f85226e682d]
    
/export/build/gnu/glibc-gold/build-x86_64-linux/dlfcn/libdl.so.2(dlclose+0x1f)[0x7f85226e623f]
    
/export/build/gnu/glibc-gold/build-x86_64-linux/elf/constload2.so(+0x933)[0x7f8522539933]
    
/export/build/gnu/glibc-gold/build-x86_64-linux/elf/ld.so(+0xfd1a)[0x7f85226fbd1a]
    
/export/build/gnu/glibc-gold/build-x86_64-linux/libc.so.6(+0x3c5e0)[0x7f852257a5e0]
    
/export/build/gnu/glibc-gold/build-x86_64-linux/libc.so.6(+0x3c63a)[0x7f852257a63a]
    
/export/build/gnu/glibc-gold/build-x86_64-linux/elf/constload2.so(+0x9aa)[0x7f85225399aa]
    
/export/build/gnu/glibc-gold/build-x86_64-linux/elf/ld.so(+0xf74a)[0x7f85226fb74a]
    
/export/build/gnu/glibc-gold/build-x86_64-linux/elf/ld.so(+0xf85b)[0x7f85226fb85b]
    
/export/build/gnu/glibc-gold/build-x86_64-linux/elf/ld.so(+0x13e98)[0x7f85226ffe98]
    
/export/build/gnu/glibc-gold/build-x86_64-linux/libc.so.6(_dl_catch_error+0x71)[0x7f85226643c1]
    
/export/build/gnu/glibc-gold/build-x86_64-linux/elf/ld.so(+0x13639)[0x7f85226ff639]
    
/export/build/gnu/glibc-gold/build-x86_64-linux/dlfcn/libdl.so.2(+0x1156)[0x7f85226e6156]
    
/export/build/gnu/glibc-gold/build-x86_64-linux/libc.so.6(_dl_catch_error+0x71)[0x7f85226643c1]
    
/export/build/gnu/glibc-gold/build-x86_64-linux/dlfcn/libdl.so.2(+0x1789)[0x7f85226e6789]
    
/export/build/gnu/glibc-gold/build-x86_64-linux/dlfcn/libdl.so.2(dlopen+0x32)[0x7f85226e61e2]
    /export/build/gnu/glibc-gold/build-x86_64-linux/elf/constload1[0x4009ca]
    
/export/build/gnu/glibc-gold/build-x86_64-linux/libc.so.6(__libc_start_main+0xf1)[0x7f8522565231]
    /export/build/gnu/glibc-gold/build-x86_64-linux/elf/constload1[0x400a5a]
    ======= Memory map: ========
    00400000-00401000 r-xp 00000000 08:11 26334965                           
/export/build/gnu/glibc-gold/build-x86_64-linux/elf/constload1
    00401000-00402000 r--p 00000000 08:11 26334965                           
/export/build/gnu/glibc-gold/build-x86_64-linux/elf/constload1
    00402000-00403000 rw-p 00001000 08:11 26334965                           
/export/build/gnu/glibc-gold/build-x86_64-linux/elf/constload1
    00875000-00896000 rw-p 00000000 00:00 0                                  
[heap]
    7f851c000000-7f851c021000 rw-p 00000000 00:00 0
    7f851c021000-7f8520000000 ---p 00000000 00:00 0
    7f85222f3000-7f8522309000 r-xp 00000000 08:02 136658                     
/usr/lib64/libgcc_s-6.3.1-20170216.so.1
    7f8522309000-7f8522508000 ---p 00016000 08:02 136658                     
/usr/lib64/libgcc_s-6.3.1-20170216.so.1
    7f8522508000-7f8522509000 r--p 00015000 08:02 136658                     
/usr/lib64/libgcc_s-6.3.1-20170216.so.1
    7f8522509000-7f852250a000 rw-p 00016000 08:02 136658                     
/usr/lib64/libgcc_s-6.3.1-20170216.so.1
    7f8522539000-7f852253a000 r-xp 00000000 08:11 26334619                   
/export/build/gnu/glibc-gold/build-x86_64-linux/elf/constload2.so
    7f852253a000-7f852253b000 r--p 00000000 08:11 26334619                   
/export/build/gnu/glibc-gold/build-x86_64-linux/elf/constload2.so
    7f852253b000-7f852253c000 rw-p 00001000 08:11 26334619                   
/export/build/gnu/glibc-gold/build-x86_64-linux/elf/constload2.so
    7f852253c000-7f852253e000 rw-p 00000000 00:00 0
    7f852253e000-7f85226da000 r-xp 00000000 08:11 26309973                   
/export/build/gnu/glibc-gold/build-x86_64-linux/libc.so
    7f85226da000-7f85226db000 ---p 0019c000 08:11 26309973                   
/export/build/gnu/glibc-gold/build-x86_64-linux/libc.so
    7f85226db000-7f85226de000 r--p 0019c000 08:11 26309973                   
/export/build/gnu/glibc-gold/build-x86_64-linux/libc.so
    7f85226de000-7f85226e1000 rw-p 0019f000 08:11 26309973                   
/export/build/gnu/glibc-gold/build-x86_64-linux/libc.so
    7f85226e1000-7f85226e5000 rw-p 00000000 00:00 0
    7f85226e5000-7f85226e8000 r-xp 00000000 08:11 26313777                   
/export/build/gnu/glibc-gold/build-x86_64-linux/dlfcn/libdl.so
    7f85226e8000-7f85226e9000 r--p 00002000 08:11 26313777                   
/export/build/gnu/glibc-gold/build-x86_64-linux/dlfcn/libdl.so
    7f85226e9000-7f85226ea000 rw-p 00003000 08:11 26313777                   
/export/build/gnu/glibc-gold/build-x86_64-linux/dlfcn/libdl.so
    7f85226ea000-7f85226ec000 rw-p 00000000 00:00 0
    7f85226ec000-7f8522711000 r-xp 00000000 08:11 26309972                   
/export/build/gnu/glibc-gold/build-x86_64-linux/elf/ld.so
    7f8522711000-7f8522712000 rw-p 00000000 00:00 0
    7f8522712000-7f8522713000 r--p 00025000 08:11 26309972                   
/export/build/gnu/glibc-gold/build-x86_64-linux/elf/ld.so
    7f8522713000-7f8522714000 rw-p 00026000 08:11 26309972                   
/export/build/gnu/glibc-gold/build-x86_64-linux/elf/ld.so
    7f8522714000-7f8522715000 rw-p 00000000 00:00 0
    7ffc5a2bd000-7ffc5a2df000 rw-p 00000000 00:00 0                          
[stack]
    7ffc5a32c000-7ffc5a32e000 r--p 00000000 00:00 0                          
[vvar]
    7ffc5a32e000-7ffc5a330000 r-xp 00000000 00:00 0                          
[vdso]
    ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  
[vsyscall]
    
    and
    
    make[4]: *** [/export/build/gnu/glibc-gold/build-x86_64-linux/elf/vismain] 
Error 1
    
    This is because gold doesn't support protected data symbols:
    
    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
    
    make[4]: *** 
[/export/build/gnu/glibc-gold/build-x86_64-linux/elf/tst-split-dynreloc] Error 1
    
    This is because gold doesn't support INSERT in linker script:
    
    https://sourceware.org/bugzilla/show_bug.cgi?id=21676
    
    The total failures are
    
    FAIL: dlfcn/bug-dl-leaf
    FAIL: elf/constload1
    FAIL: elf/global
    FAIL: elf/ifuncmain1
    FAIL: elf/ifuncmain1pic
    FAIL: elf/ifuncmain1pie
    FAIL: elf/ifuncmain1vis
    FAIL: elf/ifuncmain1vispic
    FAIL: elf/ifuncmain1vispie
    FAIL: elf/ifuncmain3
    FAIL: elf/initfirst
    FAIL: elf/preloadtest
    FAIL: elf/tst-audit11
    FAIL: elf/tst-audit12
    FAIL: elf/tst-audit4
    FAIL: elf/tst-audit5
    FAIL: elf/tst-audit6
    FAIL: elf/tst-audit7
    FAIL: elf/tst-dlmodcount
    FAIL: elf/tst-dlmopen1
    FAIL: elf/tst-dlmopen3
    FAIL: elf/tst-dlopenrpath
    FAIL: elf/tst-latepthread
    FAIL: elf/tst-leaks1-mem
    FAIL: elf/tst-nodelete-dlclose
    FAIL: elf/unload6
    FAIL: nss/test-netdb
    FAIL: nss/tst-nss-test1
    FAIL: posix/tst-getaddrinfo5
    
        [BZ #14995]
        * configure.ac: Allow gold 1.14 or above to configire glibc
        * configure: Regenerated.

commit d57cb31910ca5c200e4172276749a7f8bd17ae3c
Author: Joseph Myers <address@hidden>
Date:   Wed Jun 28 10:33:23 2017 +0000

    Miscellaneous sys/ucontext.h namespace fixes (bug 21457).
    
    This patch fixes various miscellaneous namespace issues in
    sys/ucontext.h headers.
    
    Some struct tags are removed where the structs also have *_t typedef
    names, while other struct tags without such names are renamed to start
    __; the changes are noted in NEWS as they can affect C++ name mangling
    (although there seems to be little if any external use of these types,
    at least based on checking codesearch.debian.net).  For powerpc,
    pointers to struct pt_regs (not defined in this header) are changed to
    point to struct __ctx(pt_regs), so in the __USE_MISC case those struct
    fields continue to point to the existing struct pt_regs type for
    maximum compatibility, while when that's a namespace issue they point
    to a struct __pt_regs type which is always an incomplete struct.
    
    Tested for affected architectures with build-many-glibcs.py.
    
        [BZ #21457]
        * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (fpregset_t): Remove
        struct tag.
        * sysdeps/unix/sysv/linux/mips/sys/ucontext.h (fpregset_t):
        Likewise.
        * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h (mcontext_t):
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (pt_regs):
        Declare struct type with __ctx.
        [__WORDSIZE != 32] (mcontext_t): Use __ctx with pt_regs struct
        tag.
        (ucontext_t) [__WORDSIZE == 32]: Use __ctx with pt_regs struct tag
        and regs field name.

commit ac782f9e9ab0a39a3054e4c97653fafa8ea47a62
Author: Joseph Myers <address@hidden>
Date:   Tue Jun 27 17:52:42 2017 +0000

    Fix elf/loadtest.c build with GCC 8.
    
    Building the testsuite with current GCC mainline fails with:
    
    loadtest.c: In function 'main':
    loadtest.c:76:3: error: macro expands to multiple statements 
[-Werror=multistatement-macros]
       for (map = MAPS; map != NULL; map = map->l_next)        \
       ^
    loadtest.c:165:2: note: in expansion of macro 'OUT'
      OUT;
      ^~~
    loadtest.c:164:7: note: some parts of macro expansion are not guarded by 
this 'if' clause
           if (debug)
           ^~
    
    This seems like a genuine bug, although fairly harmless; it means the
    fflush call in the OUT macro is unconditional instead of being inside
    the conditional as presumably intended.  This patch makes this macro
    use do { } while (0) to avoid the problem.
    
    Tested for x86_64 (testsuite), and with build-many-glibcs.py for
    aarch64-linux-gnu with GCC mainline.
    
        * elf/loadtest.c (OUT): Define using do { } while (0).

commit e4043b84c49e1cf9bcf1e8320233343ecc34f8eb
Author: Joseph Myers <address@hidden>
Date:   Tue Jun 27 17:12:13 2017 +0000

    Fix strftime build with GCC 8.
    
    Building with current GCC mainline fails with:
    
    strftime_l.c: In function '__strftime_internal':
    strftime_l.c:719:4: error: macro expands to multiple statements 
[-Werror=multistatement-macros]
        digits = d > width ? d : width;          \
        ^
    strftime_l.c:1260:6: note: in expansion of macro 'DO_NUMBER'
          DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE);
          ^~~~~~~~~
    strftime_l.c:1259:4: note: some parts of macro expansion are not guarded by 
this 'else' clause
        else
        ^~~~
    
    In fact this particular instance is harmless; the code looks like:
    
              if (modifier == L_('O'))
                goto bad_format;
              else
                DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE);
    
    and because of the goto, it doesn't matter that part of the expansion
    isn't under the "else" conditional.  But it's also clearly bad style
    to rely on that.  This patch changes DO_NUMBER and DO_NUMBER_SPACEPAD
    to use do { } while (0) to avoid such problems.
    
    Tested (full testsuite) for x86_64 (GCC 6), and with
    build-many-glibcs.py with GCC mainline, in conjunction with my libgcc
    patch <https://gcc.gnu.org/ml/gcc-patches/2017-06/msg02032.html>.
    
        * time/strftime_l.c (DO_NUMBER): Define using do { } while (0).
        (DO_NUMBER_SPACEPAD): Likewise.

commit f8f72bc0c3da8ba039e6a1ed670ca576120b1f85
Author: Prakhar Bahuguna <address@hidden>
Date:   Tue Jun 27 15:43:50 2017 +0000

    [ARM] Optimise memchr for NEON-enabled processors
    
    This patch provides an optimised implementation of memchr using NEON
    instructions to improve its performance, especially with longer search 
regions.
    This gave an improvement in performance against the Thumb2+DSP optimised 
code,
    with more significant gains for larger inputs. The NEON code also wins in 
cases
    where the input is small (less than 8 bytes) by defaulting to a simple
    byte-by-byte search. This avoids the overhead imposed by filling two 
quadword
    registers from memory.
    
        * sysdeps/arm/armv7/multiarch/Makefile: Add memchr_neon to
        sysdep_routines.
        * sysdeps/arm/armv7/multiarch/ifunc-impl-list.c: Add define for
        __memchr_neon.
        Add ifunc definitions for __memchr_neon and __memchr_noneon.
        * sysdeps/arm/armv7/multiarch/memchr.S: New file.
        * sysdeps/arm/armv7/multiarch/memchr_impl.S: Likewise.
        * sysdeps/arm/armv7/multiarch/memchr_neon.S: Likewise.
    
    Testing done: Ran regression tests for arm-none-linux-gnueabihf as well as a
    full toolchain bootstrap. Benchmark tests were ran on ARMv7-A and ARMv8-A
    hardware targets.

commit a37b5daa6bc7fbcbbc229b2549a161fa15023f41
Author: Stefan Liebler <address@hidden>
Date:   Tue Jun 27 17:09:43 2017 +0200

    S390: Use cu21 instruction for converting from utf16 to utf8.
    
    This patch adds an ifunc variant to use the cu instruction on arch12 CPUs.
    This new ifunc variant can be built if binutils support z13 vector
    instructions.  At runtime, HWCAP_S390_VXE decides if we can use the
    cu21 instruction.
    
    ChangeLog:
    
        * sysdeps/s390/utf8-utf16-z9.c (__to_utf8_loop_vx_cu):
        Use vector and cu21 instruction.
        * sysdeps/s390/multiarch/utf8-utf16-z9.c:
        Add __to_utf8_loop_vx_cu in ifunc resolver.

commit f0137ff31da85bc7d9bd4e621af958d8b7249475
Author: Stefan Liebler <address@hidden>
Date:   Tue Jun 27 17:09:43 2017 +0200

    S390: Use cu24 instruction for converting from utf16 to utf32.
    
    This patch adds an ifunc variant to use the cu instruction on arch12 CPUs.
    This new ifunc variant can be built if binutils support z13 vector
    instructions.  At runtime, HWCAP_S390_VXE decides if we can use the
    cu24 instruction.
    
    ChangeLog:
    
        * sysdeps/s390/utf16-utf32-z9.c (__from_utf16_loop_vx_cu):
        Use vector and cu24 instruction.
                * sysdeps/s390/multiarch/utf16-utf32-z9.c:
                Add __from_utf16_loop_vx_cu in ifunc resolver.

commit 593e4da186906525e2a0bdc4d87601bd0c2625eb
Author: Stefan Liebler <address@hidden>
Date:   Tue Jun 27 17:09:43 2017 +0200

    S390: Use cu42 instruction for converting from utf32 to utf16.
    
    This patch adds an ifunc variant to use the cu instruction on arch12 CPUs.
    This new ifunc variant can be built if binutils support z13 vector
    instructions.  At runtime, HWCAP_S390_VXE decides if we can use the
    cu42 instruction.
    
    ChangeLog:
    
        * sysdeps/s390/utf16-utf32-z9.c (__to_utf16_loop_vx_cu):
        Use vector and cu42 instruction.
        * sysdeps/s390/multiarch/utf16-utf32-z9.c:
        Add __to_utf16_loop_vx_cu in ifunc resolver.

commit 23ea69a9d6e9ab28c66a232b767a800b04eaa938
Author: Stefan Liebler <address@hidden>
Date:   Tue Jun 27 17:09:42 2017 +0200

    S390: Use cu41 instruction for converting from utf32 to utf8.
    
    This patch adds an ifunc variant to use the cu instruction on arch12 CPUs.
    This new ifunc variant can be built if binutils support z13 vector
    instructions.  At runtime, HWCAP_S390_VXE decides if we can use the
    cu41 instruction.
    
    ChangeLog:
    
        * sysdeps/s390/utf8-utf32-z9.c (__to_utf8_loop_vx_cu):
        Use vector and cu41 instruction.
        * sysdeps/s390/multiarch/utf8-utf32-z9.c: Add __to_utf8_loop_vx_cu
        in ifunc resolver.

commit f21f59124d8a4d22b20e7a926462937d89e8988e
Author: Stefan Liebler <address@hidden>
Date:   Tue Jun 27 17:09:42 2017 +0200

    S390: Add new hwcap values for new cpu architecture - arch12.
    
    The new hwcap values indicate support for:
    - Vector packed decimal facility
    - Vector enhancements facility 1
    - Guarded storage facility
    
    Note: arch12 is NOT the official name of the new CPU.
    It refers to the edition number of the Principle of Operations manual.
    
    ChangeLog:
    
        * sysdeps/s390/dl-procinfo.c (_dl_s390_cap_flags):
        Add vxd, vxe, gs flag.
        * sysdeps/s390/dl-procinfo.h: Add HWCAP_S390_VXD, HWCAP_S390_VXE,
        HWCAP_S390_GS capability.
        * sysdeps/unix/sysv/linux/s390/bits/hwcap.h
        (HWCAP_S390_VXD, HWCAP_S390_VXE, HWCAP_S390_GS): Define.

commit e94c31035739b693c3699b3c4cad0206631fbee7
Author: H.J. Lu <address@hidden>
Date:   Tue Jun 27 07:55:00 2017 -0700

    x86-64: Optimize memcmp-avx2-movbe.S for short difference
    
    Check the first 32 bytes before checking size when size >= 32 bytes
    to avoid unnecessary branch if the difference is in the first 32 bytes.
    Replace vpmovmskb/subl/jnz with vptest/jnc.
    
    On Haswell, the new version is as fast as the previous one.  On Skylake,
    the new version is a little bit faster.
    
        * sysdeps/x86_64/multiarch/memcmp-avx2-movbe.S (MEMCMP): Check
        the first 32 bytes before checking size when size >= 32 bytes.
        Replace vpmovmskb/subl/jnz with vptest/jnc.

commit 6980be7cbf4f108a4936ac64242f58340d56c806
Author: Mike FABIAN <address@hidden>
Date:   Tue Jun 27 16:27:21 2017 +0200

    Add ChangeLog entries for the last 6 commits

commit d4e0331b0ab5d027340ffadbc5a81fe8fbf84279
Author: Rafal Luzynski <address@hidden>
Date:   Thu Mar 9 01:14:54 2017 +0100

    localedata: Months updated from CLDR - other scripts [BZ #21217]
    
    * localedata/locales/am_ET (mon): Updated from CLDR.
    * localedata/locales/km_KH (mon): Likewise.
    * localedata/locales/lo_LA (mon): Likewise.
    * localedata/locales/si_LK (mon): Likewise.
    * localedata/locales/yi_US (mon): Likewise.
    * localedata/locales/yue_HK (mon): Likewise.

commit b7f1d99bb3d36054930b5a62c31747a9097eec83
Author: Rafal Luzynski <address@hidden>
Date:   Thu Mar 9 00:40:35 2017 +0100

    localedata: Months updated from CLDR - other Indic scripts [BZ #21217]
    
    * localedata/locales/gu_IN (mon): Updated from CLDR.
    * localedata/locales/kn_IN (mon): Likewise.
    * localedata/locales/ml_IN (mon): Likewise.
    * localedata/locales/pa_IN (mon): Likewise.
    * localedata/locales/te_IN (mon): Likewise.

commit 40daf63a15e8a1105119f829ac06495bd509d560
Author: Rafal Luzynski <address@hidden>
Date:   Thu Mar 9 00:28:34 2017 +0100

    localedata: Months updated from CLDR - Devanagari scripts [BZ #21217]
    
    * localedata/locales/brx_IN (mon): Updated from CLDR.
    * localedata/locales/hi_IN (mon): Likewise.
    * localedata/locales/kok_IN (mon): Likewise.
    * localedata/locales/mr_IN (mon): Likewise.
    * localedata/locales/ne_NP (mon): Likewise.

commit 973c05624d5204ff1559e5b3e5cf743bca5668a6
Author: Rafal Luzynski <address@hidden>
Date:   Thu Mar 9 00:19:07 2017 +0100

    localedata: Months updated from CLDR - Bengali scripts [BZ #21217]
    
    * localedata/locales/as_IN (mon): Updated from CLDR.
    * localedata/locales/bn_BD (mon): Likewise.
    * localedata/locales/bn_IN (mon): Likewise.

commit c853f14c23f0f1e5506c5d8fd23e07528430f4b8
Author: Rafal Luzynski <address@hidden>
Date:   Wed Mar 8 23:29:17 2017 +0100

    localedata: Months updated from CLDR - Arabic scripts [BZ #21217]
    
    * localedata/locales/ar_DZ (mon): Updated from CLDR.
    * localedata/locales/ar_IQ (mon): Likewise.
    * localedata/locales/ar_JO (mon): Likewise.
    * localedata/locales/ar_LB (mon): Likewise.
    * localedata/locales/ar_MA (mon): Likewise.
    * localedata/locales/ar_SA (mon): Likewise.
    * localedata/locales/ar_SY (mon): Likewise.
    * localedata/locales/ar_TN (mon): Likewise.
    * localedata/locales/ks_IN (mon): Likewise.
    * localedata/locales/ps_AF (mon): Likewise.
    * localedata/locales/ug_CN (mon): Likewise.
    * localedata/locales/ur_IN (mon): Likewise.
    * localedata/locales/ur_PK (mon): Likewise.

commit aaa726f1dd8a5a03f8c8a78de45c301880f4025a
Author: Rafal Luzynski <address@hidden>
Date:   Tue Mar 7 02:24:48 2017 +0100

    localedata: More months updated from CLDR-31 [BZ #21217]
    
    [BZ #21217]
    * localedata/locales/ln_CD (mon): Months imported from CLDR, all changed:
    "Yanwáli" to "sánzá ya yambo", "Febwáli" to "sánzá ya míbalé" and 
so on.
    
    * locales/mn_MN (mon): reworded "Хулгана сарын" to 
"Нэгдүгээр сар",
    "Үхэр сарын" to "Хоёрдугаар сар", and so on.
    
    * locales/vi_VN (mon): reworded "Tháng một" to "Tháng 1", "Tháng hai"
    to "Tháng 2", "Tháng ba" to "Tháng 3", and so on.
    
    * locales/yo_NG (mon): reworded "Jánúárì" to "Oṣù Ṣẹ́rẹ́", 
"Fẹ́búárì"
    to "Oṣù Èrèlè", "Máàṣì" to "Oṣù Ẹrẹ̀nà", and so on.
    
    * locales/zu_ZA (mon): reworded "uMasingana" to "Januwari",
    "uNhlolanja" to "Februwari", "uNdasa" to "Mashi", and so on.

commit 8138dcc5538348fea38a334a3b7761aa7226b052
Author: Rafal Luzynski <address@hidden>
Date:   Fri Feb 24 03:13:14 2017 +0100

    localedata: Month names updated from CLDR-31 [BZ #21217]
    
    [BZ #21217]
    * localedata/locales/be_BY (mon, abmon): Reworded "Травень" 
("travyen'")
    and abbreviated "Тра" ("tra") to "Май" ("may").
    
    * localedata/locales/address@hidden (mon, abmon): Likewise, "Travień"
    and abbreviated "Tra" reworded to "Maj".
    
    * localedata/locales/br_FR (day, abmon, mon, d_t_fmt): Use the proper
    Unicode apostrophe (Cʼhwevrer, mercʼher, Dʼar).
    
    * localedata/locales/es_PE (mon, abmon): Reworded "septiembre" to
    "setiembre" and abbreviated "sep" to "set".
    * localedata/locales/es_UY: Likewise.
    
    * localedata/locales/fil_PH (mon): Reworded "Septiyembre" to "Setyembre"
    and "Nobiyembre" to "Nobyembre".
    
    * localedata/locales/fur_IT (mon, abmon): Reworded "Decembar" to
    "Dicembar" and abbreviated "Dec" to "Dic".
    
    * localedata/locales/fy_NL (mon): Reworded "Janaris" to "Jannewaris".
    
    * localedata/locales/ha_NG (mon, abmon): Reworded "Fabrairu" to
    "Faburairu" and "Afrilu" to "Afirilu", also abbreviated "Afr" to "Afi".
    
    * localedata/locales/ig_NG (mon, abmon): All months begin with
    uppercase.  Reworded: "febụrụwarị" to "Febrụwarị", "epreel" to 
"Eprel",
    "ọgọstụ" to "Ọgọọst", "nọvemba" to "Novemba", "nọv" to 
"Nov".
    
    * localedata/locales/kw_GB (mon): Months imported from CLDR, many
    changes: all "Mys" to "mis", "Mys Whevrel" to "mis Hwevrer", "Mys Merth"
    to "mis Meurth", "Mys Evan" to "mis Metheven", and so on.
      (abmon): "Whe>" to "Hwe", "Mer" to "Meu", "Evn" to "Met".
    
    * localedata/locales/lg_UG (mon): Reworded "Julaai" to "Julaayi".
    
    * localedata/locales/ln_CD (mon): Months imported from CLDR, all changed:
    "Yanwáli" to "sánzá ya yambo", "Febwáli" to "sánzá ya míbalé" and 
so on.
    
    * localedata/locales/mg_MG (mon, abmon): All months now begin with
    uppercase.
    
    * localedata/locales/se_NO (mon): Months imported from CLDR, all
    suffixes changed from "mánu" to "mánnu".
    
    * localedata/locales/address@hidden (mon): Reworded "juni" to "jun" and
    "juli" to "jul".
    
    * localedata/locales/uz_UZ (mon): Reworded "Sentyabr" to "Sentabr"
    and "Oktyabr" to "Oktabr".
    * localedata/locales/address@hidden (mon): Most of the names reworded,
    no longer end with a soft sign.
    
    * localedata/locales/wae_CH (mon): reworded "Bráchet" to "Bráčet",
    "Öigschte" to "Öigšte", "Herbschtmánet" to "Herbštmánet",
    "Chrischtmánet" to "Chrištmánet".

commit 83653f804dca6e8e9606e20e708be45b8422d96c
Author: Stefan Liebler <address@hidden>
Date:   Tue Jun 27 15:23:43 2017 +0200

    S390: Save and restore r12 in TLS_IE macro.
    
    The testcases elf/tst-tls1-static and elf/tst-tls2-static
    are failing on s390 if gcc is configured with --enable-default-pie.
    
    According to binutils, there are only four valid cases for IE -> LE 
transition:
    lg %rx,(0,%ry)    -> sllg %rx,%ry,0
    lg %rx,(%ry,0)    -> sllg %rx,%ry,0
    lg %rx,(%ry,%r12) -> sllg %rx,%ry,0
    lg %rx,(%r12,%ry) -> sllg %rx,%ry,0
    
    Thus I've adjusted the TLS_IE macro in s390 tls-macros.h files in PIC case
    in order to use r12 for the address of global offset table.
    The adjusted macro definition is not used if gcc is not configured with
    --enable-default-pie.
    
    ChangeLog:
    
        * sysdeps/s390/s390-32/tls-macros.h (TLS_IE): Use r12 for GOT address.
        * sysdeps/s390/s390-64/tls-macros.h (TLS_IE): Likewise.

commit 39bd76df3d61c6d83c5aa8bab06c7c1dbe7159ac
Author: Florian Weimer <address@hidden>
Date:   Tue Jun 27 10:21:34 2017 +0200

    resolv: Avoid timeouts in test-resolv-res-init, test-resolv-res_init-thread
    
    Some Linux kernels have very aggressive ICMP rate limiting on the
    loopback interface.  This commit introduces a minimal echoing DNS server
    inside the network namespace, so that there is no need for ICMP error
    messages anymore.

commit e6b4e2de6dd91efdcac80b79149c596de8a26b70
Author: Florian Weimer <address@hidden>
Date:   Tue Jun 27 09:26:46 2017 +0200

    resolv: Call _res_hconf_init from __res_vinit
    
    Many callers of __res_maybe_init also call _res_hconf_init.
    Additional calls to the latter do not hurt because the function
    does its work only once.  (/etc/hosts.conf is not reloaded or
    even checked for changes.)  This means that we can simplify the
    code by calling _res_hconf_init directly from __res_vinit.

commit 034e73802173a8bfa80ff21d3da45e3bbbfe8acc
Author: Joseph Myers <address@hidden>
Date:   Mon Jun 26 22:50:45 2017 +0000

    Add float128 support for ia64.
    
    This patch enables float128 support for ia64, so that all the
    configurations where GCC supports _Float128 / __float128 as an
    ABI-distinct type now have glibc support as well.  bits/floatn.h
    declares the support to be available for GCC 4.4 and later, which is
    when the libgcc support was added.  The removal of
    sysdeps/ia64/fpu/k_rem_pio2.c is because the generic k_rem_pio2.c
    defines a function required by the float128 code.
    
    Tested (compilation only) with build-many-glibcs.py for ia64 (GCC 6
    and GCC 7).
    
    Given how long it is since libm-test-ulps has been updated for ia64, I
    think truncating the file and regenerating it from scratch would be a
    good idea when doing a regeneration to add float128 ulps.  I expect
    various ia64 libm issues (at least some already filed in Bugzilla) to
    result in test failures even after ulps regeneration, but hopefully
    the float128 code will pass tests as it's the same as used on other
    architectures.
    
        * sysdeps/ia64/Implies: Add ieee754/float128.
        * sysdeps/ia64/bits/floatn.h: New file.
        * sysdeps/ia64/float128-abi.h: Likewise.
        * manual/math.texi (Mathematics): Document support for _Float128
        on ia64.
        * sysdeps/ia64/Makefile [$(subdir) = math] (CPPFLAGS): Append to
        Makefile variable.
        * sysdeps/ia64/fpu/e_sqrtf128.c: New file.
        * sysdeps/ia64/fpu/k_rem_pio2.c: Remove file.
        * sysdeps/ia64/fpu/sfp-machine.h: New file.  Based on libgcc.
        * sysdeps/ia64/math-tests.h: New file.
        * math/libm-test-support.h (XFAIL_FLOAT128_PAYLOAD): Also define
        based on TEST_COND_binary128 for [__ia64__].
        * sysdeps/unix/sysv/linux/ia64/libc.abilist: Update.
        * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise,

commit 251287734e89a52da3db682a8241eb6bccc050c9
Author: Joseph Myers <address@hidden>
Date:   Mon Jun 26 22:03:58 2017 +0000

    Rename struct ucontext tag (bug 21457).
    
    The ucontext_t type has a tag struct ucontext.  As with previous such
    issues for siginfo_t and stack_t, this tag is not permitted by POSIX
    (is not in a reserved namespace), and so namespace conformance means
    breaking C++ name mangling for this type.
    
    In this case, the type does need to have some tag rather than just a
    typedef name, because it includes a pointer to itself.  This patch
    uses struct ucontext_t as the new tag, so the type is mangled as
    ucontext_t (the POSIX *_t reservation applies in all namespaces, not
    just the namespace of ordinary identifiers).  Another reserved name
    such as struct __ucontext could of course be used.
    
    Because of other namespace issues, this patch does not by itself fix
    bug 21457 or allow any XFAILs to be removed.
    
    Tested for x86_64, and with build-many-glibcs.py.
    
        [BZ #21457]
        * sysdeps/arm/sys/ucontext.h (struct ucontext): Rename to struct
        ucontext_t.
        * sysdeps/generic/sys/ucontext.h (struct ucontext): Likewise.
        * sysdeps/i386/sys/ucontext.h (struct ucontext): Likewise.
        * sysdeps/m68k/sys/ucontext.h (struct ucontext): Likewise.
        * sysdeps/mips/sys/ucontext.h (struct ucontext): Likewise.
        * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h (struct
        ucontext): Likewise.
        * sysdeps/unix/sysv/linux/alpha/sys/ucontext.h (struct ucontext):
        Likewise.
        * sysdeps/unix/sysv/linux/arm/sys/ucontext.h (struct ucontext):
        Likewise.
        * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h (struct ucontext):
        Likewise.
        * sysdeps/unix/sysv/linux/ia64/sys/ucontext.h (struct ucontext):
        Likewise.
        * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (struct ucontext):
        Likewise.
        * sysdeps/unix/sysv/linux/mips/sys/ucontext.h (struct ucontext):
        Likewise.
        * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h (struct ucontext):
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (struct
        ucontext): Likewise.
        * sysdeps/unix/sysv/linux/s390/sys/ucontext.h (struct ucontext):
        Likewise.
        * sysdeps/unix/sysv/linux/sh/sys/ucontext.h (struct ucontext):
        Likewise.
        * sysdeps/unix/sysv/linux/sparc/sys/ucontext.h (struct ucontext):
        Likewise.
        * sysdeps/unix/sysv/linux/tile/sys/ucontext.h (struct ucontext):
        Likewise.
        * sysdeps/unix/sysv/linux/x86/sys/ucontext.h (struct ucontext):
        Likewise.
        * sysdeps/powerpc/powerpc32/backtrace.c (struct
        rt_signal_frame_32): Likewise.
        * sysdeps/powerpc/powerpc64/backtrace.c (struct signal_frame_64):
        Likewise.
        * sysdeps/unix/sysv/linux/aarch64/kernel_rt_sigframe.h (struct
        kernel_rt_sigframe): Likewise.
        * sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h (SIGCONTEXT):
        Likewise.
        * sysdeps/unix/sysv/linux/arm/register-dump.h (register_dump):
        Likewise.
        * sysdeps/unix/sysv/linux/arm/sigcontextinfo.h (SIGCONTEXT):
        Likewise.
        * sysdeps/unix/sysv/linux/hppa/profil-counter.h
        (__profil_counter): Likewise.
        * sysdeps/unix/sysv/linux/microblaze/sigcontextinfo.h
        (SIGCONTEXT): Likewise.
        * sysdeps/unix/sysv/linux/mips/kernel_rt_sigframe.h (struct
        kernel_rt_sigframe): Likewise.
        * sysdeps/unix/sysv/linux/nios2/kernel_rt_sigframe.h (struct
        kernel_rt_sigframe): Likewise.
        * sysdeps/unix/sysv/linux/nios2/sigcontextinfo.h (SIGCONTEXT):
        Likewise.
        * sysdeps/unix/sysv/linux/sh/makecontext.S (__makecontext):
        Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c
        (__start_context): Likewise.
        * sysdeps/unix/sysv/linux/tile/sigcontextinfo.h (SIGCONTEXT):
        Likewise.
        * sysdeps/unix/sysv/linux/x86_64/register-dump.h (register_dump):
        Likewise.
        * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h (SIGCONTEXT):
        Likewise.

commit c86ed71d633c22d6f638576f7660c52a5f783d66
Author: Joseph Myers <address@hidden>
Date:   Mon Jun 26 22:01:27 2017 +0000

    Add float128 support for x86_64, x86.
    
    This patch enables float128 support for x86_64 and x86.  All GCC
    versions that can build glibc provide the required support, but since
    GCC 6 and before don't provide __builtin_nanq / __builtin_nansq, sNaN
    tests and some tests of NaN payloads need to be disabled with such
    compilers (this does not affect the generated glibc binaries at all,
    just the tests).  bits/floatn.h declares float128 support to be
    available for GCC versions that provide the required libgcc support
    (4.3 for x86_64, 4.4 for i386 GNU/Linux, 4.5 for i386 GNU/Hurd);
    compilation-only support was present some time before then, but not
    really useful without the libgcc functions.
    
    fenv_private.h needed updating to avoid trying to put _Float128 values
    in registers.  I make no assertion of optimality of the
    math_opt_barrier / math_force_eval definitions for this case; they are
    simply intended to be sufficient to work correctly.
    
    Tested for x86_64 and x86, with GCC 7 and GCC 6.  (Testing for x32 was
    compilation tests only with build-many-glibcs.py to verify the ABI
    baseline updates.  I have not done any testing for Hurd, although the
    float128 support is enabled there as for GNU/Linux.)
    
        * sysdeps/i386/Implies: Add ieee754/float128.
        * sysdeps/x86_64/Implies: Likewise.
        * sysdeps/x86/bits/floatn.h: New file.
        * sysdeps/x86/float128-abi.h: Likewise.
        * manual/math.texi (Mathematics): Document support for _Float128
        on x86_64 and x86.
        * sysdeps/i386/fpu/fenv_private.h: Include <bits/floatn.h>.
        (math_opt_barrier): Do not put _Float128 values in floating-point
        registers.
        (math_force_eval): Likewise.
        [__x86_64__] (SET_RESTORE_ROUNDF128): New macro.
        * sysdeps/x86/fpu/Makefile [$(subdir) = math] (CPPFLAGS): Append
        to Makefile variable.
        * sysdeps/x86/fpu/e_sqrtf128.c: New file.
        * sysdeps/x86/fpu/sfp-machine.h: Likewise.  Based on libgcc.
        * sysdeps/x86/math-tests.h: New file.
        * math/libm-test-support.h (XFAIL_FLOAT128_PAYLOAD): New macro.
        * math/libm-test-getpayload.inc (getpayload_test_data): Use
        XFAIL_FLOAT128_PAYLOAD.
        * math/libm-test-setpayload.inc (setpayload_test_data): Likewise.
        * math/libm-test-totalorder.inc (totalorder_test_data): Likewise.
        * math/libm-test-totalordermag.inc (totalordermag_test_data):
        Likewise.
        * sysdeps/unix/sysv/linux/i386/libc.abilist: Update.
        * sysdeps/unix/sysv/linux/i386/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.
        * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.

commit 3f823e87ccbf3723eb4eeb63b0619f1a0ceb174e
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Jun 22 08:49:34 2017 -0300

    Call exit directly in clone (BZ #21512)
    
    On aarch64, alpha, arm, hppa, mips, nios2, powerpc, sh, sparc, tile,
    and x86_64 the clone syscall jumps to _exit after the child execution
    and the function ends the process execution by calling exit_group.
    This behavior have a small issue where threads created with
    CLONE_THREAD using clone syscall directly will eventually exit the
    whole group altogether instead of just the thread created.  Also,
    s390, microblaze, ia64, i386, and m68k differs by calling exit
    syscall directly.
    
    This patch changes all architectures to call the exit syscall
    directly, as for s390, microblaze, ia64, i386, and m68k.  This do not
    have change glibc internal behavior in any sort, since the only
    usage of clone implementation in posix_spawn calls _exit directly
    in the created child (fork uses a direct call to clone).
    
    Checked on x86_64-linux-gnu, i686-linux-gnu, aarch64-linux-gnu,
    powerpc-linux-gnu, powerpc64le-linux-gnu, sparc64-linux-gnu,
    and sparcv9-linux-gnu.
    
        [BZ #21512]
        * sysdeps/unix/sysv/linux/aarch64/clone.S (__clone): Call exit
        syscall instead of jump to _exit.
        (CLONE_VM_BIT): Remove unused define.
        (CLONE_VM): Likewise.
        (CLONE_THREAD_BIT): Likewise.
        (CLONE_THREAD): Likewise.
        * sysdeps/unix/sysv/linux/alpha/clone.S (__clone): Likewise.
        (CLONE_VM): Remove unused define.
        * sysdeps/unix/sysv/linux/arm/clone.S (__clone): Likewise.
        (CLONE_VM): Remove unused define.
        (CLONE_THREAD): Likewise.
        * sysdeps/unix/sysv/linux/i386/clone.S (CLONE_VM): Likewise.
        * sysdeps/unix/sysv/linux/ia64/clone2.S (__clone2): Call exit
        syscall instead of jump to _exit.
        * sysdeps/unix/sysv/linux/hppa/clone.S (__clone): Likewise.
        * sysdeps/unix/sysv/linux/mips/clone.S (__clone): Likewise.
        (CLONE_VM): Remove unused define.
        (CLONE_THREAD): Likewise.
        * sysdeps/unix/sysv/linux/nios2/clone.S (__clone): Likewise.
        (CLONE_VM): Remove unused define.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S (__clone):
        Likewise.
        (CLONE_VM): Remove unused define.
        (CLONE_THREAD): Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S (__clone):
        Likewise.
        (CLONE_VM): Remove unused define.
        (CLONE_THREAD): Likewise.
        * sysdeps/unix/sysv/linux/sh/clone.S  (__clone): Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone): Likewise.
        (CLONE_VM): Remove unused define.
        * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone): Likewise.
        (CLONE_VM): Remove unused define.
        * sysdeps/unix/sysv/linux/tile/clone.S (__clone): Likewise.
        * sysdeps/unix/sysv/linux/x86_64/clone.S (__clone): Likewise.
        (CLONE_VM): Remove unused define.
        * sysdeps/unix/sysv/linux/Makefile (tests): Add tst-clone3.
        * sysdeps/unix/sysv/linux/tst-clone3.c: New file.
    
    Fix

commit f819dbea0a58270293c49b514b64848c6e84fda1
Author: Paul E. Murphy <address@hidden>
Date:   Tue Aug 9 16:48:54 2016 -0500

    powerpc64le: Enable float128
    
    This patch adds ULPs for the float128 type, updates the abilist for libc
    and libm, and adds the files bits/floatn.h and float128-abi.h, in order to
    enable the new type for powerpc64le.
    
    This patch also adds the implementation of sqrtf128 for powerpc64le, since
    it is not implemented in libgcc.  The sfp-machine.h header is taken from
    libgcc.
    
    Tested for powerpc64le (GCC 6.2 and GCC 7.1), powerpc64 and s390x.
    
        * manual/math.texi (Mathematics): Mention the enabling of float128
        for powerpc64le.
        * sysdeps/powerpc/bits/floatn.h: New file.
        * sysdeps/powerpc/fpu/libm-test-ulps: Regenerated.
        * sysdeps/powerpc/fpu/math_private.h:
        (__ieee754_sqrtf128): New inline override.
        * sysdeps/powerpc/powerpc64le/Implies-before: New file.
        * sysdeps/powerpc/powerpc64le/Makefile: New file.
        * sysdeps/powerpc/powerpc64le/fpu/e_sqrtf128.c: New file.
        * sysdeps/powerpc/powerpc64le/fpu/sfp-machine.h: New file.
        * sysdeps/powerpc/powerpc64le/power9/fpu/e_sqrtf128.c: New file.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist:
        Updated.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64le/float128-abi.h:
        New file.

commit a27d2c19355a15569dfcdd5da741b57acf1a106a
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Mon Jun 5 16:18:54 2017 -0300

    powerpc64le: Require at least POWER8 for powerpc64le
    
    Support for powerpc64le requires POWER8 or newer processors.  Builds for
    older processors are not tested.  Require at least POWER8 to avoid
    unintentional builds.
    
        * sysdeps/powerpc/powerpc64le/configure.ac: Check for POWER8.
        * sysdeps/powerpc/powerpc64le/configure: Update.

commit 4efe3ce400d763b6c8186dd389371f6359b05c54
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Tue Oct 11 13:50:19 2016 -0300

    powerpc64le: Check for compiler features for float128
    
    On powerpc64le, support for float128 will be enabled, which requires some
    compiler features to be present.  This patch adds a configure test to check
    for such features, which are provided for powerpc64le since GCC 6.2.
    
    Tested for powerpc64 and powerpc64le.
    
        * INSTALL: Regenerate.
        * manual/install.texi (Recommended Tools for Compilation): Mention
        the powerpc64le-specific requirement in the manual.
        * sysdeps/powerpc/powerpc64le/configure.ac: New file with checks
        for the compiler features required for building float128.
        * sysdeps/powerpc/powerpc64le/configure: New, auto-generated file.

commit d54bb9b1d3fd25779fba2c403003c5097ba9af73
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Mon Jun 26 09:55:41 2017 -0300

    Prevent an implicit int promotion in malloc/tst-alloc_buffer.c
    
    According to ISO C11, section 6.5.3.3 "Unary arithmetic operators", the
    result of the ~ operator is the bitwise complement of its (promoted)
    operand.
    This can lead to a comparison of a char with another integer type.
    
    Tested on powerpc, powerpc64 and powerpc64le.
    
        * malloc/tst-alloc_buffer.c (test_misaligned): Cast to char
        before comparing with another char.

commit d9660db223630591739f3313b46faa5687eaf075
Author: Rical Jasan <address@hidden>
Date:   Sun Jun 25 21:31:16 2017 -0700

    manual: Fix a minor grammatical error.
    
        * manual/math.texi: Fix a grammatical error.

commit 513a71a420e74270a6a9702ec916e807be51350a
Author: Florian Weimer <address@hidden>
Date:   Sat Jun 24 16:51:31 2017 +0200

    resolv/tst-resolv-basic: Add test cases for bug 21295

commit 5cf88a83f27b0cd2d5a83511930e40d716c939eb
Author: Dmitry Bilunov <address@hidden>
Date:   Sat Jun 24 16:49:34 2017 +0200

    getaddrinfo: Merge IPv6 addresses and IPv4 addresses [BZ #21295]

commit 388b4f1a02f3a801965028bbfcd48d905638b797
Author: H.J. Lu <address@hidden>
Date:   Fri Jun 23 14:38:46 2017 -0700

    Avoid .symver on common symbols [BZ #21666]
    
    The .symver directive on common symbol just creates a new common symbol,
    not an alias and the newer assembler with the bug fix for
    
    https://sourceware.org/bugzilla/show_bug.cgi?id=21661
    
    will issue an error.  Before the fix, we got
    
    $ readelf -sW libc.so | grep "loc[12s]"
      5109: 00000000003a0608     8 OBJECT  LOCAL  DEFAULT   36 loc1
      5188: 00000000003a0610     8 OBJECT  LOCAL  DEFAULT   36 loc2
      5455: 00000000003a0618     8 OBJECT  LOCAL  DEFAULT   36 locs
      6575: 00000000003a05f0     8 OBJECT  GLOBAL DEFAULT   36 address@hidden
      7156: 00000000003a05f8     8 OBJECT  GLOBAL DEFAULT   36 address@hidden
      7312: 00000000003a0600     8 OBJECT  GLOBAL DEFAULT   36 address@hidden
    
    in libc.so.  The versioned loc1, loc2 and locs have the wrong addresses.
    After the fix, we got
    
    $ readelf -sW libc.so | grep "loc[12s]"
      6570: 000000000039e3b8     8 OBJECT  GLOBAL DEFAULT   34 address@hidden
      7151: 000000000039e3c8     8 OBJECT  GLOBAL DEFAULT   34 address@hidden
      7307: 000000000039e3c0     8 OBJECT  GLOBAL DEFAULT   34 address@hidden
    
        [BZ #21666]
        * misc/regexp.c (loc1): Add __attribute__ ((nocommon));
        (loc2): Likewise.
        (locs): Likewise.

commit 9a0cc8c1bd7645bf3c988890ffb59639c07a5812
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 23 22:51:00 2017 +0200

    inet_pton: Reject IPv6 addresses with many leading zeros [BZ #16637]
    
    2001:db8:00001::f is not a valid IPv6 address according to RFC 2373.

commit fa872e1b6210e81e60d6029429f0a083b8eab26e
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Dec 2 16:32:28 2016 -0200

    Clean pthread functions namespaces for C11 threads
    
    This patch adds internal definition (through {libc_}hidden_{proto,def}) and
    also change some strong to weak alias for symbols that might be used by C11
    threads implementations.
    
    The patchset should not change libc/libpthread functional, although object
    changes are expected (since now internal symbols are used instead) and final
    exported symbols through GLIBC_PRIVATE is also expanded (to cover libpthread
    usage of __mmap{64}, __munmap, __mprotect).
    
    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,
    tile{pro,gx}-linux-gnu, and x86_64-linux-gnu).
    
        * include/sched.h (__sched_get_priority_max): Add libc hidden proto.
        (__sched_get_prioriry_min): Likewise.
        * include/sys/mman.h (__mmap): Likewise.
        (__mmap64): Likewise.
        (__munmap): Likewise.
        (__mprotect): Likewise.
        * include/termios.h (__tcsetattr): Likewise.
        * include/time.h (__nanosleep): Use hidden_proto instead of
        libc_hidden_proto.
        * posix/nanosleep.c (__nanosleep): Likewise.
        * misc/Versions (libc): Export __mmap, __munmap, __mprotect,
        __sched_get_priority_min, and __sched_get_priority_max under
        GLIBC_PRIVATE.
        * nptl/allocatestack.c (__free_stacks): Use internal definition for
        libc symbols.
        (change_stack_perm): Likewise.
        (allocate_stack): Likewise.
        * sysdeps/posix/gethostname.c: Likewise.
        * nptl/tpp.c (__init_sched_fifo_prio): Likewise.
        * sysdeps/unix/sysv/linux/i386/smp.h (is_smp_system): Likewise.
        * sysdeps/unix/sysv/linux/powerpc/ioctl.c (__ioctl): Likewise.
        * nptl/pthreadP.h (__pthread_mutex_timedlock): Add definition.
        (__pthread_key_delete): Likewise.
        (__pthread_detach): Likewise.
        (__pthread_cancel): Likewise.
        (__pthread_mutex_trylock): Likewise.
        (__pthread_mutexattr_init): Likewise.
        (__pthread_mutexattr_settype): Likewise.
        * nptl/pthread_cancel.c (pthread_cancel): Change to internal name and
        create alias for exported one.
        * nptl/pthread_join.c (pthread_join): Likewise.
        * nptl/pthread_detach.c (pthread_detach): Likewise.
        * nptl/pthread_key_delete.c (pthread_key_delete): Likewise.
        * nptl/pthread_mutex_timedlock.c (pthread_mutex_timedlock): Likewise.
        * nptl/pthread_create.c: Change static requirements for pthread
        symbols.
        * nptl/pthread_equal.c (__pthread_equal): Change strong alias to weak
        for internal definition.
        * nptl/pthread_exit.c (__pthread_exit): Likewise.
        * nptl/pthread_getspecific.c (__pthread_getspecific): Likewise.
        * nptl/pthread_key_create.c (__pthread_key_create): Likewise.
        * nptl/pthread_mutex_destroy.c (__pthread_mutex_destroy): Likewise.
        * nptl/pthread_mutex_init.c (__pthread_mutex_init): Likewise.
        * nptl/pthread_mutex_lock.c (__pthread_mutex_lock): Likewise.
        * nptl/pthread_mutex_trylock.c (__pthread_mutex_trylock): Likewise.
        * nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock): Likewise.
        * nptl/pthread_mutexattr_init.c (__pthread_mutexattr_init): Likwise.
        * nptl/pthread_mutexattr_settype.c (__pthread_mutexattr_settype):
        Likewise.
        * nptl/pthread_self.c (__pthread_self): Likewise.
        * nptl/pthread_setspecific.c (__pthread_setspecific): Likewise.
        * sysdeps/unix/sysv/linux/tcsetattr.c (tcsetattr): Likewise.
        * misc/mmap.c (__mmap): Add internal symbol definition.
        * misc/mmap.c (__mmap64): Likewise.
        * sysdeps/unix/sysv/linux/mmap.c (__mmap): Likewise.
        * sysdeps/unix/sysv/linux/mmap64.c (__mmap): Likewise.
        (__mmap64): Likewise.
        * sysdeps/unix/sysv/linux/i386/Versions (libc) [GLIBC_PRIVATE):
        Add __uname.

commit 06a5b8f7994c241dccfaebd5c08c3e06a2dedb8f
Author: Joseph Myers <address@hidden>
Date:   Fri Jun 23 20:23:26 2017 +0000

    Update x86 ulps for GCC 7.
    
    Testing with GCC 7 for 32-bit x86 showed some ulps differences,
    presumably from variation in when values with excess precision get
    spilled to the stack and so lose that precision.  This patch updates
    the libm-test-ulps files accordingly.
    
        * sysdeps/i386/fpu/libm-test-ulps: Update.
        * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise.

commit 48273d42bc0689d6e8e79c1750a62f6bc3721307
Author: Joseph Myers <address@hidden>
Date:   Fri Jun 23 20:10:45 2017 +0000

    Make libm-test-support code clear exceptions after each test.
    
    The libm-test-support code clears exceptions at the end of
    test_exceptions.  However, it's possible that exceptions get raised as
    part of the subsequent checks on the results of the function being
    tested, and such exceptions then carry through to the next test run
    and can cause that to fail spuriously.  In particular, it's possible
    for the ulps calculation to raise exceptions in some cases.  This
    patch puts exception clearing at the end of each of the check_*
    functions, alongside errno clearing, to avoid one test affecting the
    next in that way.
    
    Tested for x86_64 (in conjunction with float128 patches).
    
        * libm-test-support.c (check_float_internal): Clear exceptions at
        end of function.
        (check_int): Likewise.
        (check_long): Likewise.
        (check_bool): Likewise.
        (check_longlong): Likewise.
        (check_intmax_t): Likewise.
        (check_uintmax_t): Likewise.

commit 16000c8d04f60a15fc0187e8719d741329501c39
Author: Joseph Myers <address@hidden>
Date:   Fri Jun 23 20:04:23 2017 +0000

    Avoid localplt issues from x86 fereaiseexcept inline.
    
    Building for x86_64 with float128 support, I get a localplt test
    failure from lrintf128 calling feraiseexcept.
    
    The problem is that an inline optimized version of feraiseexcept calls
    __feraiseexcept_renamed in cases where it doesn't completely expand
    inline, and that in turn is redirected to feraiseexcept for a library
    call, so meaning the redirection of feraiseexcept to
    __GI_feraiseexcept inside libm is lost for that call.
    
    This patch fixes the problem by moving the redirect to an internal
    header in the _LIBC case, with the internal header using
    __GI_feraiseexcept where appropriate.
    
    Tested for x86_64 (in conjunction with float128 patches).
    
        * sysdeps/x86/fpu/bits/fenv.h [_LIBC] (__feraiseexcept_renamed):
        Do not declare.
        * sysdeps/x86/fpu/include/bits/fenv.h [_LIBC &&
        __USE_EXTERN_INLINES] (__feraiseexcept_renamed): Declare here,
        redirected to __GI_feraiseexcept if [SHARED && IS_IN (libm)].

commit 049816c3be14e47e5fe10f8cd5a38bb611d34ce5
Author: H.J. Lu <address@hidden>
Date:   Fri Jun 23 12:45:57 2017 -0700

    x86-64: Optimize L(between_2_3) in memcmp-avx2-movbe.S
    
    Turn
    
        movzbl  -1(%rdi, %rdx), %edi
        movzbl  -1(%rsi, %rdx), %esi
        orl     %edi, %eax
        orl     %esi, %ecx
    
    into
    
        movb    -1(%rdi, %rdx), %al
        movb    -1(%rsi, %rdx), %cl
    
        * sysdeps/x86_64/multiarch/memcmp-avx2-movbe.S (between_2_3):
        Replace movzbl and orl with movb.

commit 52a8e5cb43a937d5224d271537093a1f92d78e94
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Mon Jun 12 09:30:38 2017 -0300

    Document _FloatN and _FloatNx versions of math functions
    
    The functions defined in ISO/IEC TS 18661-3 take floating-point arguments
    and return floating-point numbers of _FloatN and _FloatNx types.  Apart
    from the type, these functions behave the same as their float, double, and
    long double counterparts.  This patch adds the newer functions to the
    manual.
    
        * manual/arith.texi (Infinity and NaN): Document SNANFN and SNANFNx.
        (Error Reporting by Mathematical Functions): Document HUGE_VAL_FN
        and HUGE_VAL_FNx.
        (Absolute Value): Document fabsfN, fabsfNx, cabsfN, cabsfNx.
        Rephrase the paragraph that mentions that fabs, fabsf, and fabsl
        are in math.h, to avoid having to list the _FloatN and _FloatNx
        variants as well.  Likewise for the cabs functions.
        (Normalization Functions): Document frexpfN, frexpfNx, ldexpfN,
        ldexpfNx, scalbnfN, scalbnfNx, scalblnfN, scalblnfNx.
        Mention that _FloatN and _FloatNx variants of scalbn and scalbln
        come from TS 18661-3, since this section explicitly states that
        these functions come from BSD.
        (Rounding Functions): Document ceilfN, ceilfNx, floorfN, floorfNx,
        truncfN, truncfNx, rintfN, rintfNx, nearbyintfN, nearbyintfNx,
        roundfN, roundfNx, roundevenfN, roundevenfNx, lrintfN, lrintfNx,
        llrintfN, llrintfNx, lroundfN, lroundfNx, llroundfN, llroundfNx,
        fromfpfN, fromfpfNx, ufromfpfN, ufromfpfNx, fromfpxfN, fromfpxfNx,
        ufromfpxfN, ufromfpxfNx, modffN, modffNx.
        (Remainder Functions): Document fmodfN, fmodfNx, remainderfN,
        remainderfNx.
        (Setting and modifying single bits of FP values): Document
        copysignfN, copysignfNx, nextafterfN, nextafterfNx, nextupfN,
        nextupfNx, nextdownfN, nextdownfNx, nanfN, nanfNx, canonicalizefN,
        canonicalizefNx, getpayloadfN, getpayloadfNx, setpayloadfN,
        setpayloadfNx, setpayloadsigfN, setpayloadsigfNx.
        (Floating-Point Comparison Functions): Document totalorderfN,
        totalorderfNx, totalordermagfN, totalordermagfNx.
        (Miscellaneous FP arithmetic functions): Document fminfN, fminfNx,
        fmaxfN, fmaxfNx, fminmagfN, fminmagfNx, fmaxmagfN, fmaxmagfNx,
        fdimfN, fdimfNx, fmafN, fmafNx.
        (Complex Numbers): Document the complex types: _FloatN complex and
        _FloatNx complex.
        (rojections, Conjugates, and Decomposing of Complex Numbers):
        Document crealfN, crealfNx, cimagfN, cimagfNx, conjfN, conjfNx,
        cargfN, cargfNx, cprojfN, cprojfNx.
        * manual/math.texi (Mathematics): Mention that the _FloatN and
        _FloatNx variants of the math functions come from TS 18661-3,
        unless otherwise stated.
        (Predefined Mathematical Constants): Document the _FloatN and
        _FloatNx variants of the macros prefixed with M_.
        (Trigonometric Functions): Document sinfN, sinfNx, cosfN, cosfNx,
        tanfN, tanfNx, sincosfN, sincosfNx, csinfN, csinfNx, ccosfN,
        ccosfNx, ctanfN, ctanfNx.
        (Inverse Trigonometric Functions): Document asinfN, asinfNx,
        acosfN, acosfNx, atanfN, atanfNx, atan2fN, atan2fNx.
        (Exponentiation and Logarithms): Document expfN, expfNx, exp2fN,
        exp2fNx, exp10fN, exp10fNx, logfN, logfNx, log10fN, log10fNx,
        log2fN, log2fNx, logbfN, logbfNx, ilogbfN, ilogbfNx, llogbfN,
        llogbfNx, powfN, powfNx, sqrtfN, sqrtfNx, cbrtfN, cbrtfNx, hypotfN,
        hypotfNx, expm1fN, expm1fNx, log1pfN, log1pfNx, cexpfN, cexpfNx,
        clogfN, clogfNx, clog10fN, clog10fNx, csqrtfN, csqrtfNx, cpowfN,
        cpowfNx.
        (Hyperbolic Functions): sinhfN, sinhfNx, coshfN, coshfNx, tanhfN,
        tanhfNx, csinhfN, csinhfNx, ccoshfN, ccoshfNx, ctanhfN, ctanhfNx,
        asinhfN, asinhfNx, acoshfN, acoshfNx, atanhfN, atanhfNx, casinhfN,
        casinhfNx, cacoshfN, cacoshfNx, catanhfN, catanhfNx.
        (Special Functions): Document erffN, erffNx, erfcfN, erfcfNx,
        lgammafN, lgammafNx, lgammarfN_r, lgammafNx_r, tgammafN, tgammafNx,
        j0fN, j0fNx, j1fN, j1fNx, jnfN, jnfNx, y0fN, y0fNx, y1fN, y1fNx,
        ynfN, ynfNx.

commit bc0382ae9041a71f098ec03f0e78ea9dd78e31ac
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 23 19:00:58 2017 +0200

    x86-64: Fix comment typo in memcmp-avx2-movbe.S

commit b87d47396f8e036a111fed8816254cfe1cf87cb2
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 23 18:10:41 2017 +0200

    resolv/res_libc.c: Reformat to GNU style

commit b1e7c13cc58572600809d5173fed2c00c38af2e7
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 23 17:52:55 2017 +0200

    resolv: Clean up declarations of the __res_initstamp variable

commit 3ec7c02cc3e922b9364dc8cfd1d4546671b91003
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 23 17:23:44 2017 +0200

    x86-64: memcmp-avx2-movbe.S needs saturating subtraction [BZ #21662]
    
    This code:
    
    L(between_2_3):
        /* Load as big endian with overlapping loads and bswap to avoid
           branches.  */
        movzwl  -2(%rdi, %rdx), %eax
        movzwl  -2(%rsi, %rdx), %ecx
        shll    $16, %eax
        shll    $16, %ecx
        movzwl  (%rdi), %edi
        movzwl  (%rsi), %esi
        orl     %edi, %eax
        orl     %esi, %ecx
        bswap   %eax
        bswap   %ecx
        subl    %ecx, %eax
        ret
    
    needs a saturating subtract because the full register is used.
    With this commit, only the lower 24 bits of the register are used,
    so a regular subtraction suffices.
    
    The test case change adds coverage for these kinds of bugs.

commit 7fa1d9462baabc5a1058efc13a48444af4678acf
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Thu Jun 22 15:47:16 2017 -0300

    Add libio-mtsafe flags to the build of strfromf128
    
    Similar to the other functions in the strfrom class, strfromf128 calls
    __printf_fp in order to convert the floating-point value to characters.
    This requires the value of IO_MTSAFE_IO.
    
    Tested for powerpc64le and s390x.
    
        * sysdeps/ieee754/float128/Makefile (CFLAGS-strfromf128.c): Add
        $(libio-mtsafe) to get the value of IO_MTSAFE_IO.

commit 18a336772d8920780a0e5a60c363fb2d4bf4e81e
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Thu Jun 22 10:07:04 2017 -0300

    Prepare the manual to display math errors for float128 functions
    
    When float128 support gets enabled for powerpc64le, the ULP errors for
    float128 functions need to be presented in the manual.  This patch adds
    support for displaying them.
    
    Tested for powerpc64le and s390x.
    
        * manual/libm-err-tab.pl (@all_floats, %suffices, parse_ulps):
        Enable generation of float128 entries on the error table.

commit 9f0170af26fa3643d9d4cd28d484b4e2d28c6cd5
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Thu Jun 22 09:45:32 2017 -0300

    Include libc-header-start.h in include/float.h
    
    The file include/float.h uses the macro __GLIBC_USE to test for TS 18661-3
    support.  Such macro is provided by bits/libc-header-start.h, so include it
    to get the definition.
    
    Tested for powerpc64le and s390x.
    
        * include/float.h: Include libc-header-start.h to get the
        definition of __GLIBC_USE.

commit c340290de867e02d37215df139fac0a7d9640704
Author: Paul Clarke <address@hidden>
Date:   Fri Jun 23 09:10:32 2017 -0300

    Optimized version of powf()
    
    Most significant changes are code simplification and use of doubles for
    intermediate values.  Also, some rearrangement to move early
    non-dependent code later, out of the faster paths.
    
        * sysdeps/ieee754/flt-32/e_powf.c: Optimized implementation utilizing
        rearranged code and doubles float types.

commit 76c4c838e7463aab5a9aec6c3e5ce70eb1887bc0
Author: Rogerio A. Cardoso <address@hidden>
Date:   Fri Jun 23 09:10:32 2017 -0300

    powerpc: Fix sinf() IFUNC fallback.
    
    sysdeps/powerpc/powerpc64/fpu/multiarch/s_sinf-ppc64.c should fall back to
    sysdeps/powerpc/fpu/s_sinf.c not to sysdeps/ieee754/flt-32/s_sinf.c.
    
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_sinf-ppc64.c: Change
        s_sinf.c from sysdeps/ieee754/flt-32/ to sysdeps/powerpc/fpu/.

commit 1301c20f6c2c36a84f418da513841ce89aba7d1c
Author: Paul Clarke <address@hidden>
Date:   Fri Jun 23 09:10:32 2017 -0300

    powerpc: fix sysconf support for cache geometries
    
    Commit cdfbe5037f2f67bf5f560b73732b69d0fabe2314 added sysconf support
    for cache geometries on powerpc, but mishandled errno.  For valid input
    parameters, sysconf() should not set errno.
    
        * sysdeps/unix/sysv/linux/powerpc/sysconf.c: Remove references
        to errno, and simplify remaining related code.

commit 7dcdfbcf6749cdc4c63e2613cbb3e2392d2fc2fb
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Fri Jun 23 09:10:32 2017 -0300

    powerpc: Update AT_HWCAP[2] bits
    
    Linux commit ID a4700a26107241cc7b9ac8528b2c6714ff99983d reserved 2 more
    bits for the instructions darn (Deliver a Random Number) and scv (System
    Call Vectored).
    
    Linux commit ID 6997e57d693b07289694239e52a10d2f02c3a46f reserved
    another bit for internal usage.
    
        * sysdeps/powerpc/bits/hwcap.h: Add PPC_FEATURE2_DARN and
        PPC_FEATURE2_SCV.
        * sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_cap_flags): Add scv
        and darn.

commit 12f50337ae80672c393c2317d471d097ad92c492
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Fri Jun 23 11:24:30 2017 +0530

    powerpc: refactor strrchr IFUNC
    
    As done in commit 6d15a5c2e9450a1e926d5b4991759e1cfa50fccf
    clean up IFUNC implementation for power8 in order to remove
    unneeded macro definitions.

commit 001b09a6a2176b22bd7524a8329950c1ef98f06f
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Fri Jun 23 10:43:31 2017 +0530

    powerpc: Add optimized version of [l]lroundf
    
    This patch makes use of optimized double version of llround for single
    precision as both the versions return [long] long type.

commit c271ff9469dd55896c5110194bb3668e4ddb2708
Author: Joseph Myers <address@hidden>
Date:   Thu Jun 22 23:06:41 2017 +0000

    Support _Float128 in ldbl-96 bits/iscanonical.h.
    
    This patch adds _Float128 support to the ldbl-96 bits/iscanonical.h,
    as needed for x86_64 / x86 / ia64 support of _Float128.
    
    Tested for x86_64 (in conjunction with float128 patches).
    
        * sysdeps/ieee754/ldbl-96/bits/iscanonical.h
        [__HAVE_DISTINCT_FLOAT128] (__iscanonicalf128): New macro.

commit 8d375dafe2caa85add7d5ef5bf8c8d421353df7b
Author: Joseph Myers <address@hidden>
Date:   Thu Jun 22 23:03:38 2017 +0000

    Support _Float128 in math-tests.h.
    
    This patch makes math-tests.h, as used to describe support of given
    floating-point types for sNaNs, rounding modes and exceptions, handle
    distinguishing _Float128 from long double.  This is needed for x86_64,
    where if building with GCC 6 or earlier there is no __builtin_nansq,
    so no way to get a signaling NaN of _Float128 type, so associated
    tests cannot be run (although glibc itself works fine, as there is
    never any need to create such an sNaN with a built-in function inside
    glibc).
    
    Tested for x86_64 (in conjunction with float128 patches).
    
        * sysdeps/generic/math-tests.h: Include <bits/floatn.h>.
        (MATH_TESTS_TG): New macro.
        (SNAN_TESTS_float128): Likewise.
        (ROUNDING_TESTS_float128): Likewise.
        (EXCEPTION_TESTS_float128): Likewise.
        (SNAN_TESTS): Define using MATH_TESTS_TG.
        (ROUNDING_TESTS): Likewise.
        (EXCEPTION_TESTS): Likewise.

commit f20079d219d7973ab43712adad6268901dc0eac3
Author: Joseph Myers <address@hidden>
Date:   Thu Jun 22 22:57:28 2017 +0000

    Fix float128_private.h redefinition of SET_RESTORE_ROUNDL.
    
    As with other long double identifiers, float128_private.h has a
    redefinition of SET_RESTORE_ROUNDL.  However, that redefinition is
    broken, since this is a macro with one argument being defined to take
    no arguments.  This patch fixes the redefinition.  (x86_64 needs the
    redefinition because SET_RESTORE_ROUNDL only changes the x87 rounding
    mode, whereas _Float128 arithmetic uses the SSE rounding mode instead
    on x86_64.)
    
    Tested for x86_64 (in conjunction with float128 patches).
    
        * sysdeps/ieee754/float128/float128_private.h
        [SET_RESTORE_ROUNDF128] (SET_RESTORE_ROUNDL): Take an argument and
        pass it to SET_RESTORE_ROUNDF128.

commit db7a548d02a9a47e8592d67980ffd1faeab3e20f
Author: Joseph Myers <address@hidden>
Date:   Thu Jun 22 22:53:01 2017 +0000

    Make float128_private.h work with generic ieee754.h.
    
    float128_private.h redefines ieee754.h identifiers ieee854_long_double
    and IEEE854_LONG_DOUBLE_BIAS to map them to identifiers from
    ieee754_float128.h.
    
    This causes problems when ieee754.h is included after
    float128_private.h and it's a version of ieee754.h that also defines
    those identifiers; specifically, sysdeps/ieee754/ieee754.h, which
    defines those identifiers for the x86 extended format.  This patch
    fixes this by ensuring an include of ieee754.h from float128_private.h
    before the redefinitions.
    
    Tested for x86_64 (in conjunction with float128 patches).
    
        * sysdeps/ieee754/float128/float128_private.h: Include
        <ieee754.h>.

commit d08cdabdd096325a3296713c87672f213b05f5c6
Author: Joseph Myers <address@hidden>
Date:   Thu Jun 22 22:46:27 2017 +0000

    Correct min_of_type handling of _Float128.
    
    The math_private.h macro min_of_type has broken _Float128 handling:
    instead of passing its type argument to the key __EXPR_FLT128 macro,
    it passes x, which is not a macro argument but whatever variable
    called x happens to be visible in the calling function.  If that
    variable has the wrong type, the wrong one of long double and
    _Float128 can get chosen.  In particular, this applies to some
    _Complex long double functions (where x happens to have type _Complex
    long double, resulting in min_of_type returning a _Float128 value when
    it should return a long double value).  For some reason, this only
    caused test failures for me on x86_64 with GCC 6 but not GCC 7 (I
    suspect it triggers known bugs in conversions from x86 long double to
    _Float128 that are present in GCC 6's soft-fp).
    
    Tested for x86_64 (in conjunction with float128 patches).
    
        * sysdeps/generic/math_private.h (__EXPR_FLT128): Do not apply
        typeof to argument passed to __builtin_types_compatible_p.
        (min_of_type): Pass type argument, not x, to __EXPR_FLT128.

commit 46d2e49c49165c09d8ebf555e56d74d063102342
Author: Joseph Myers <address@hidden>
Date:   Thu Jun 22 22:39:48 2017 +0000

    Make errno-setting libm templates include errno.h.
    
    Various type-generic libm wrapper templates, as used for float128, set
    errno but do not include errno.h.  I presume they must get an implicit
    include from some internal header on powerpc64le; they don't get such
    an implicit include on x86_64.  This patch adds the missing includes
    of errno.h to each such wrapper.
    
    Tested for x86_64 (in conjunction with float128 patches).
    
        * math/w_acos_template.c [__USE_WRAPPER_TEMPLATE]: Include
        <errno.h>.
        * math/w_acosh_template.c [__USE_WRAPPER_TEMPLATE]: Likewise.
        * math/w_asin_template.c [__USE_WRAPPER_TEMPLATE]: Likewise.
        * math/w_atanh_template.c [__USE_WRAPPER_TEMPLATE]: Likewise.
        * math/w_cosh_template.c [__USE_WRAPPER_TEMPLATE]: Likewise.
        * math/w_exp10_template.c [__USE_WRAPPER_TEMPLATE]: Likewise.
        * math/w_exp2_template.c [__USE_WRAPPER_TEMPLATE]: Likewise.
        * math/w_exp_template.c [__USE_WRAPPER_TEMPLATE]: Likewise.
        * math/w_fmod_template.c [__USE_WRAPPER_TEMPLATE]: Likewise.
        * math/w_hypot_template.c [__USE_WRAPPER_TEMPLATE]: Likewise.
        * math/w_j0_template.c [__USE_WRAPPER_TEMPLATE]: Likewise.
        * math/w_j1_template.c [__USE_WRAPPER_TEMPLATE]: Likewise.
        * math/w_jn_template.c [__USE_WRAPPER_TEMPLATE]: Likewise.
        * math/w_lgamma_r_template.c [__USE_WRAPPER_TEMPLATE]: Likewise.
        * math/w_lgamma_template.c [__USE_WRAPPER_TEMPLATE]: Likewise.
        * math/w_log10_template.c [__USE_WRAPPER_TEMPLATE]: Likewise.
        * math/w_log2_template.c [__USE_WRAPPER_TEMPLATE]: Likewise.
        * math/w_log_template.c [__USE_WRAPPER_TEMPLATE]: Likewise.
        * math/w_pow_template.c [__USE_WRAPPER_TEMPLATE]: Likewise.
        * math/w_remainder_template.c [__USE_WRAPPER_TEMPLATE]: Likewise.
        * math/w_sinh_template.c [__USE_WRAPPER_TEMPLATE]: Likewise.
        * math/w_sqrt_template.c [__USE_WRAPPER_TEMPLATE]: Likewise.
        * math/w_tgamma_template.c [__USE_WRAPPER_TEMPLATE]: Likewise.

commit 33711da4e90f2904aec46544c7344cd08d07c56a
Author: Joseph Myers <address@hidden>
Date:   Thu Jun 22 22:34:49 2017 +0000

    Fix float128 uses of xlocale.h.
    
    Three float128 files still include xlocale.h after it was removed.  I
    don't know why this didn't cause problems for powerpc64le float128
    testing; it did cause problems for my x86_64 float128 testing.  This
    patch changes the includes to use bits/types/locale_t.h.
    
    Tested for x86_64 (in conjunction with float128 patches).
    
        * sysdeps/ieee754/float128/strtof128_l.c: Include
        <bits/types/locale_t.h> instead of <xlocale.h>.
        * sysdeps/ieee754/float128/wcstof128.c: Likewise.
        * sysdeps/ieee754/float128/wcstof128_l.c: Likewise.

commit 5dee08fda600af2bfcf700d27b04f02b18fe91f1
Author: Siddhesh Poyarekar <address@hidden>
Date:   Thu Jun 22 23:49:15 2017 +0530

    Add ChangeLog entries for the last 3 commits
    
    I forgot to add ChangeLog entries for my last three commits.

commit 25d5247277760e669a69618ce99ce6065e92362c
Author: Siddhesh Poyarekar <address@hidden>
Date:   Thu Jun 22 23:44:50 2017 +0530

    benchtests: New script to parse memcpy results
    
    Read the memcpy results in json and print out the results in tabular
    form, in addition to generating a graph of the results to compare all
    of the implementations.
    
    The format of the output is extensible enough to allow this kind of
    analysis to be done on other string functions as well.
    
        * benchtests/scripts/benchout_strings.schema.json: New file.
        * benchtests/scripts/compare_strings.py: New file.

commit 5ee1e3cebc47495a36d17a0066c241978ca6f502
Author: Siddhesh Poyarekar <address@hidden>
Date:   Thu Jun 22 23:44:19 2017 +0530

    benchtests: Make memcpy benchmarks print results in json
    
    Print the benchmark output for various memcpy benchmarks in json so
    that it can be predictably parsed and analyzed.
    
        * benchtests/bench-memcpy-large.c: Include json-lib.h.
        (do_one_test): Print json.
        (do_test): Likewise.
        (test_main): Likewise.
        * benchtests/bench-memcpy-random.c: Include json-lib.h.
        (do_one_test): Print json.
        (do_test): Likewise.
        (test_main): Likewise.
        * benchtests/bench-memcpy.c: Include json-lib.h.
        (do_one_test): Print json.
        (do_test): Likewise.
        (test_main): Likewise.

commit 738a9914a066a31750925543a8c6d2661bd61345
Author: Siddhesh Poyarekar <address@hidden>
Date:   Thu Jun 22 23:44:12 2017 +0530

    benchtests: Print string array elements, int and uint in json
    
    Enhance the json module in benchtests to print signed and unsigned
    integers and string array elements.
    
        * benchtests/json-lib.h: Include inttypes.h.
        (json_attr_int, json_attr_int, json_element_string,
        json_element_int, json_element_uint): New functions.
        * benchtests/json-lib.c: (json_attr_int, json_attr_int,
        json_element_string, json_element_int, json_element_uint): New
        functions.

commit 5070551cbf0ba8f69e15e1a19f8989b812b6a651
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Tue Jun 20 15:00:16 2017 -0300

    Describe remainder as primary and drem as alternative in the manual
    
    In preparation for the documentation of _FloatN and _FloatNx variants of
    the remainder function, this patch changes the descriptions of remainder
    and drem, so that remainder is described as primary and drem as an
    alternative name for the same functionality.
    
        * manual/arith.texi (Remainder Functions): Describe remainder as
        primary and drem as an alternative name.  Change the comment on
        remainder to ISO, since it is defined in ISO C99.

commit 5ae22669437cdee21b254b7eb59e16e394ddfd6d
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Wed Jun 21 09:20:39 2017 -0300

    Provide an additional macro expansion for F128 in stdlib/tst-strtod.h
    
    The macro F128 in stdlib/tst-strtod.h is defined to provide the literal
    suffix for _Float128 constants.  It uses the macro __f128 (), which is
    defined in bits/floatn.h to provide the correct literal suffix depending on
    what is provided by the compiler.
    
    However, F128 was not being expanded and only worked correctly, when
    compiling with GCC 7 (or greater), since F128 is the literal suffix itself.
    This patch adds an additional macro expansion so that the macro F128
    expands to the correct literal suffix on older compilers.
    
        * stdlib/tst-strtod.h (MMFUNC): New macro to provide an addition
        macro expansion.
        (GEN_TEST_STRTOD_FOREACH): Use MMFUNC for _Float128.

commit 95b38bbb03b3531336ae9a9346bb5b01a1836647
Author: Rafal Luzynski <address@hidden>
Date:   Thu Jun 22 11:53:02 2017 +0200

    localedata: fur_IT: Fix spelling of Wednesday (Miercus)
    
    * localedata/locales/fur_IT (day, abday): reworded "Miarcus" to
      "Miercus" and abbreviated "Mia" to "Mie".

commit 925fac7793ba912172810767ac284a43045d41d2
Author: Mike FABIAN <address@hidden>
Date:   Wed May 31 11:10:25 2017 +0200

    Bug 21533: Update to Unicode 10.0.0
    
    * Unicode 10.0.0 Support: Character encoding, character type info, and
      transliteration tables are all updated to Unicode 10.0.0, using
      generator scripts contributed by Mike FABIAN (Red Hat).

commit f768b450204f54b080ea5dc5c2071940604b424c
Author: Benjamin Cama <address@hidden>
Date:   Thu Jun 22 15:49:28 2017 +0200

    inet: __inet6_scopeid_pton should accept node-local addresses [BZ #21657]

commit 0a47d031e44f15236bcef8aeba80e737bd013c6f
Author: Florian Weimer <address@hidden>
Date:   Wed Jun 21 22:59:19 2017 +0200

    _nl_load_domain: Use calloc instead of alloca

commit 4dd8e7c0ce5ecc7f65e33e60ad2f717b31de32ec
Author: Florian Weimer <address@hidden>
Date:   Wed Jun 21 22:43:57 2017 +0200

    Implement allocation buffers for internal use
    
    This commit adds fixed-size allocation buffers.  The primary use
    case is in NSS modules, where dynamically sized data is stored
    in a fixed-size buffer provided by the caller.
    
    Other uses include a replacement of mempcpy cascades (which is
    safer due to the size checking inherent to allocation buffers).

commit 11ffcacb64a939c10cfc713746b8ec88837f5c4a
Author: H.J. Lu <address@hidden>
Date:   Wed Jun 21 12:10:50 2017 -0700

    x86-64: Implement strcmp family IFUNC selectors in C
    
    Implement strcmp family IFUNC selectors in C.
    
    All internal calls within libc.so can use IFUNC on x86-64 since unlike
    x86, x86-64 supports PC-relative addressing to access the GOT entry so
    that it can call via PLT without using an extra register.  For libc.a,
    we can't use IFUNC for functions which are called before IFUNC has been
    initialized.  Use IFUNC internally reduces the icache footprint since
    libc.so and other codes in the process use the same implementations.
    This patch uses IFUNC for strcmp family functions within libc.
    
        * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
        strcmp-sse2, strcmp-sse4_2, strncmp-sse2, strncmp-sse4_2,
        strcasecmp_l-sse2, strcasecmp_l-sse4_2, strcasecmp_l-avx,
        strncase_l-sse2, strncase_l-sse4_2 and strncase_l-avx.
        * sysdeps/x86_64/multiarch/ifunc-strcasecmp.h: New file.
        * sysdeps/x86_64/multiarch/strcasecmp.c: Likewise.
        * sysdeps/x86_64/multiarch/strcasecmp_l-avx.S: Likewise.
        * sysdeps/x86_64/multiarch/strcasecmp_l-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/strcasecmp_l-sse4_2.S: Likewise.
        * sysdeps/x86_64/multiarch/strcasecmp_l.c: Likewise.
        * sysdeps/x86_64/multiarch/strcmp-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/strcmp-sse4_2.S: Likewise.
        * sysdeps/x86_64/multiarch/strcmp.c: Likewise.
        * sysdeps/x86_64/multiarch/strncase.c: Likewise.
        * sysdeps/x86_64/multiarch/strncase_l-avx.S : Likewise.
        * sysdeps/x86_64/multiarch/strncase_l-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/strncase_l-sse4_2.S: Likewise.
        * sysdeps/x86_64/multiarch/strncase_l.c: Likewise.
        * sysdeps/x86_64/multiarch/strncmp-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/strncmp-sse4_2.S: Likewise.
        * sysdeps/x86_64/multiarch/strncmp.c: Likewise.
        * sysdeps/x86_64/multiarch/strcasecmp_l.S: Removed.
        * sysdeps/x86_64/multiarch/strcmp.S: Likewise.
        * sysdeps/x86_64/multiarch/strncase_l.S: Likewise.
        * sysdeps/x86_64/multiarch/strncmp.S: Likewise.
        * sysdeps/x86_64/multiarch/strcmp-sse42.S: Include <sysdep.h>.
        (STRCMP_SSE42): New.  Defined to __strcmp_sse42 if not defined.
        [USE_AS_STRCASECMP_L || USE_AS_STRNCASECMP_L]: Include
        "locale-defines.h".
        (UPDATE_STRNCMP_COUNTER): New.
        (SECTION): Likewise.
        (GLABEL): Likewise.
        (LABEL): Likewise.
        * sysdeps/x86_64/multiarch/strncmp-ssse3.S: Rewrite and enable
        for libc.a.

commit 9649350d2ee47fae00794d57e2526aa5d67d900e
Author: Joseph Myers <address@hidden>
Date:   Wed Jun 21 17:35:24 2017 +0000

    Fix tile SA_* conditions for POSIX.1:2008 (bug 21622).
    
    As shown by conform/ tests once the remaining namespace issues are
    fixed, the tile bits/sigaction.h fails to declare SA_RESETHAND,
    SA_RESTART and SA_NODEFER for non-XSI POSIX.1:2008 as other versions
    do.  Those constants were moved from XSI to Base in the 2008 edition
    of POSIX.  This patch fixes the conditions to match other versions of
    this header.
    
    Tested (compilation only) for tilegx-linux-gnu with
    build-many-glibcs.py.
    
        [BZ #21622]
        * sysdeps/unix/sysv/linux/tile/bits/sigaction.h (SA_RESTART):
        Define for [__USE_UNIX98 || __USE_XOPEN2K8], not [__USE_UNIX98 ||
        __USE_MISC].
        (SA_NODEFER): Likewise.
        (SA_RESETHAND): Likewise.

commit 03feacb562650cc3d51e9e76cd97e80e648aad84
Author: H.J. Lu <address@hidden>
Date:   Wed Jun 21 10:20:24 2017 -0700

    x86: Rename glibc.tune.ifunc to glibc.tune.hwcaps
    
    Rename glibc.tune.ifunc to glibc.tune.hwcaps and move it to
    sysdeps/x86/dl-tunables.list since it is x86 specicifc.  Also
    change type of data_cache_size, data_cache_size and
    non_temporal_threshold to unsigned long int to match size_t.
    Remove usage DEFAULT_STRLEN from cpu-tunables.c.
    
        * elf/dl-tunables.list (glibc.tune.ifunc): Removed.
        * sysdeps/x86/dl-tunables.list (glibc.tune.hwcaps): New.
        Remove security_level on all fields.
        * manual/tunables.texi: Replace ifunc with hwcaps.
        * sysdeps/x86/cpu-features.c (TUNABLE_CALLBACK (set_ifunc)):
        Renamed to ..
        (TUNABLE_CALLBACK (set_hwcaps)): This.
        (init_cpu_features): Updated.
        * sysdeps/x86/cpu-features.h (cpu_features): Change type of
        data_cache_size, data_cache_size and non_temporal_threshold to
        unsigned long int.
        * sysdeps/x86/cpu-tunables.c (DEFAULT_STRLEN): Removed.
        (TUNABLE_CALLBACK (set_ifunc)): Renamed to ...
        (TUNABLE_CALLBACK (set_hwcaps)): This.  Update comments.  Don't
        use DEFAULT_STRLEN.

commit 9695dd0c9309712ed8e9c17a7040fe7af347f2dc
Author: Florian Weimer <address@hidden>
Date:   Wed Jun 21 16:31:31 2017 +0200

    DCIGETTEXT: Use getcwd, asprintf to construct absolute pathname

commit e535139e82e5a4bb0ed63b0b5165f03a9b2d0e52
Author: Szabolcs Nagy <address@hidden>
Date:   Wed Jun 21 15:01:18 2017 +0100

    [AArch64] Add more cfi annotations to tlsdesc entry points
    
    Backtrace through _dl_tlsdesc_resolve_rela was broken because the offset
    of x30 from cfa was not in the debug info.
    
    Add enough annotation so backtracing from the dynamic linker through
    tlsdesc entry points works and the debugger shows registers correctly.

commit daa9bdb607e962726cc733c9b82c01bd68765736
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Jun 5 09:13:49 2017 -0300

    posix: Add invalid flags test for p{write,read}v2
    
    This patch add an extra test for passing invalid flags and check its
    expected failure.  It shows an invalid LO_HI_LONG macro definition for
    x86_64 with leads to passing invalid flags on some configurations.
    
    The new tests fails on i686-linux-gnu and potentially on other 32 bits
    architecture that uses the compat syscall definition due a kernel bug.
    It is intended to be fixed upstream.
    
    Checked on x86_64-linux-gnu
    
        * misc/tst-preadvwritev2-common.c: New file.
        * misc/tst-preadvwritev2.c (do_test): Add test for invalid flag.
        * misc/tst-preadvwritev64v2.c (do_test): Likewise.

commit e9177fba13549a8e2a6232f46080e5c6d3e467b1
Author: Szabolcs Nagy <address@hidden>
Date:   Wed Jun 21 13:47:07 2017 +0100

    [AArch64] Use hidden __GI__dl_argv in rtld startup code
    
    We rely on the symbol being locally defined so using extern symbol
    is not correct and the linker may complain about the relocations.

commit 76b8266f990a2912f42d1b7050840e8c7f14f2c2
Author: Florian Weimer <address@hidden>
Date:   Wed Jun 21 13:35:37 2017 +0200

    getaddrinfo: Avoid stack copy of IPv6 address

commit 60149b28590be28051f99d0a343d7fbe002f2a8c
Author: Florian Weimer <address@hidden>
Date:   Wed Jun 21 13:09:08 2017 +0200

    __inet_pton_length: Implement new internal helper function

commit 965d5c391c86eb3a812ce308411c32754f12a9d2
Author: Florian Weimer <address@hidden>
Date:   Wed Jun 21 12:51:54 2017 +0200

    inet: Add IPv6 getaddrinfo coverage to tst-inet6_scopeid_pton.c

commit 43e0ac24c836eed627a75ca932eb7e64698407c6
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Wed Jun 21 10:55:12 2017 +0530

    powerpc: Optimize memchr for power8
    
    Vectorized loops are used for sizes greater than 32B to improve
    performance over power7 optimiztion.

commit 99c3eb0f73f8d111efefa82a40910a75691983c6
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Wed Jun 21 10:44:18 2017 +0530

    powerpc: Add optimized version of [l]lrintf
    
    This patch makes use of optimized double version of llrint for single
    precision as both the versions return [long] long type.

commit 8082d91e1c449e0cb137468b731004a5e605c8c6
Author: Zack Weinberg <address@hidden>
Date:   Sat Jun 3 16:22:24 2017 -0400

    Factor out shared definitions from bits/signum.h.
    
    Many of the things defined by bits/signum.h are invariant across all
    supported operating systems.  This patch factors out all of them to a
    new header bits/signum-generic.h, which each bits/signum.h will include
    and then override whichever things need adjustment.  Normally that will
    mean, at most, adding or changing a few signal numbers.
    
    A user-visible side effect is that the obsolete signal constant SIGUNUSED
    (which is an alias for SIGSYS on all platforms that define it) is no
    longer exposed by any version of bits/signum.h.
    
    A side effect only relevant to glibc hackers is that _NSIG is now defined
    in terms of __SIGRTMAX, instead of the other way around.  This is because
    __SIGRTMAX varies from platform to platform, but _NSIG==__SIGRTMAX+1 is
    true universally.  If your platform doesn't support realtime signals,
    leave __SIGRTMAX equal to __SIGRTMIN.
    
    I also added a Linux-specific test to make sure that our signal constants
    match the ones in <asm/signal.h>, since we can't use that header (it's
    not even vaguely namespace-clean).
    
        * bits/signum-generic.h: Renamed from bits/signum.h.
        Add proper multiple include guard and misuse check.
        Define __SIGRTMIN = __SIGRTMAX = 32, and define _NSIG = __SIGRTMAX+1.
        Move definition of SIGIO to "archaic names for compatibility" section.
        * bits/signum.h: New file which just includes bits/signum-generic.h.
        * sysdeps/unix/bsd/bits/signum.h
        * sysdeps/unix/sysv/linux/bits/signum.h
        * sysdeps/unix/sysv/linux/alpha/bits/signum.h
        * sysdeps/unix/sysv/linux/hppa/bits/signum.h
        * sysdeps/unix/sysv/linux/mips/bits/signum.h
        * sysdeps/unix/sysv/linux/sparc/bits/signum.h
        Just include <bits/signum-generic.h> and then add or adjust
        signal constants.  Do not define SIGUNUSED, SIGRTMIN, or SIGRTMAX.
    
        * signal/Makefile: Install bits/signum-generic.h.
        * signal/signal.h: Define SIGRTMIN and SIGRTMAX here.
    
        * sysdeps/generic/siglist.h: SIGSYS and SIGWINCH are
        universal.  Prefer SIGPOLL to SIGIO. Simplify #ifdeffage.
    
        * sysdeps/unix/sysv/linux/tst-signal-numbers.sh: New test.
        * sysdeps/unix/sysv/linux/Makefile: Run it.

commit af85385f311c574590381f7897461643f8a2fe6f
Author: Zack Weinberg <address@hidden>
Date:   Tue Jun 20 09:26:43 2017 -0400

    Use locale_t, not __locale_t, throughout glibc
    
    <locale.h> is specified to define locale_t in POSIX.1-2008, and so are
    all of the headers that define functions that take locale_t arguments.
    Under _GNU_SOURCE, the additional headers that define such functions
    have also always defined locale_t.  Therefore, there is no need to use
    __locale_t in public function prototypes, nor in any internal code.
    
        * ctype/ctype-c99_l.c, ctype/ctype.h, ctype/ctype_l.c
        * include/monetary.h, include/stdlib.h, include/time.h
        * include/wchar.h, locale/duplocale.c, locale/freelocale.c
        * locale/global-locale.c, locale/langinfo.h, locale/locale.h
        * locale/localeinfo.h, locale/newlocale.c
        * locale/nl_langinfo_l.c, locale/uselocale.c
        * localedata/bug-usesetlocale.c, localedata/tst-xlocale2.c
        * stdio-common/vfscanf.c, stdlib/monetary.h, stdlib/stdlib.h
        * stdlib/strfmon_l.c, stdlib/strtod_l.c, stdlib/strtof_l.c
        * stdlib/strtol.c, stdlib/strtol_l.c, stdlib/strtold_l.c
        * stdlib/strtoll_l.c, stdlib/strtoul_l.c, stdlib/strtoull_l.c
        * string/strcasecmp.c, string/strcoll_l.c, string/string.h
        * string/strings.h, string/strncase.c, string/strxfrm_l.c
        * sysdeps/ieee754/float128/strtof128_l.c
        * sysdeps/ieee754/float128/wcstof128.c
        * sysdeps/ieee754/float128/wcstof128_l.c
        * sysdeps/ieee754/ldbl-128ibm/strtold_l.c
        * sysdeps/ieee754/ldbl-64-128/strtold_l.c
        * sysdeps/ieee754/ldbl-opt/nldbl-compat.c
        * sysdeps/ieee754/ldbl-opt/nldbl-strfmon_l.c
        * sysdeps/ieee754/ldbl-opt/nldbl-strtold_l.c
        * sysdeps/ieee754/ldbl-opt/nldbl-wcstold_l.c
        * sysdeps/powerpc/powerpc32/power7/strcasecmp.S
        * sysdeps/powerpc/powerpc64/power7/strcasecmp.S
        * sysdeps/x86_64/strcasecmp_l-nonascii.c
        * sysdeps/x86_64/strncase_l-nonascii.c, time/strftime_l.c
        * time/strptime_l.c, time/time.h, wcsmbs/mbsrtowcs_l.c
        * wcsmbs/wchar.h, wcsmbs/wcscasecmp.c, wcsmbs/wcsncase.c
        * wcsmbs/wcstod.c, wcsmbs/wcstod_l.c, wcsmbs/wcstof.c
        * wcsmbs/wcstof_l.c, wcsmbs/wcstol_l.c, wcsmbs/wcstold.c
        * wcsmbs/wcstold_l.c, wcsmbs/wcstoll_l.c, wcsmbs/wcstoul_l.c
        * wcsmbs/wcstoull_l.c, wctype/iswctype_l.c
        * wctype/towctrans_l.c, wctype/wcfuncs_l.c
        * wctype/wctrans_l.c, wctype/wctype.h, wctype/wctype_l.c:
        Change all uses of __locale_t to locale_t.

commit f0be25b6336db7492e47d2e8e72eb8af53b5506d
Author: Zack Weinberg <address@hidden>
Date:   Fri Jun 9 12:02:06 2017 -0400

    Rename xlocale.h to bits/types/__locale_t.h.
    
    xlocale.h is already a single-type micro-header, defining struct
    __locale_struct and the typedefs __locale_t and locale_t.  This patch
    brings it into the bits/types/ scheme: there are now
    bits/types/__locale_t.h which defines only __locale_struct and
    __locale_t, and bits/types/locale_t.h which defines locale_t as well
    as the other two.  None of *our* headers need __locale_t.h, but it
    appears to me that libstdc++ could make use of it.
    
    There are a lot of external uses of xlocale.h, but all the uses I
    checked had an autoconf test or equivalent for its existence.  It has
    never been available from other C libraries, and it has always
    contained a comment reading "This file is not standardized, don't rely
    on it, it can go away without warning" so I think dropping it is
    pretty safe.
    
    I also took the opportunity to clean up comments in various public
    header files that still talk about the *_l interfaces as though they
    were completely nonstandard.  There are a few of them, notably the
    strtoX_l and wcstoX_l families, that haven't been standardized, but
    the bulk are in POSIX.1-2008.
    
            * locale/xlocale.h: Rename to...
        * locale/bits/types/__locale_t.h: ...here.  Adjust commentary.
        Only define struct __locale_struct and __locale_t, not locale_t.
            * locale/bits/types/locale_t.h: New file; define locale_t here.
            * locale/Makefile (headers): Update to match.
    
            * include/xlocale.h: Delete wrapper.
            * include/bits/types/__locale_t.h: New wrapper.
            * include/bits/types/locale_t.h: New wrapper.
    
            * ctype/ctype.h, include/printf.h, include/time.h
            * locale/langinfo.h, locale/locale.h, stdlib/monetary.h
            * stdlib/stdlib.h, string/string.h, string/strings.h, time/time.h
            * wcsmbs/wchar.h, wctype/wctype.h: Use bits/types/locale_t.h.
            Correct outdated comments regarding the standardization status of
            the functions that take locale_t arguments.
    
            * stdlib/strtod_l.c, stdlib/strtof_l.c, stdlib/strtol_l.c
            * stdlib/strtold_l.c, stdlib/strtoul_l.c, stdlib/strtoull_l.c
            * sysdeps/ieee754/ldbl-128ibm/strtold_l.c
            * sysdeps/ieee754/ldbl-64-128/strtold_l.c
            * wcsmbs/wcstod.c, wcsmbs/wcstod_l.c, wcsmbs/wcstof.c
            * wcsmbs/wcstof_l.c, wcsmbs/wcstold.c, wcsmbs/wcstold_l.c:
            Don't include xlocale.h. If necessary, include locale.h instead.
    
            * stdlib/strtold_l.c: Unconditionally include wchar.h.

commit bafcba22ac5eb612dcc32425fce5479d1ee3e79b
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Jun 20 15:46:28 2017 -0300

    Consolidate Linux openat implementation
    
    This patch consolidates the open Linux syscall implementation on
    sysdeps/unix/sysv/linux/open{64}.c.  The changes are:
    
      1. Remove wordsize-64 openat{64}.
      2. For architetures that define __OFF_T_MATCHES_OFF64_T openat64
         will be default one with alias to required symbols.  Otherwise
         openat64 will pass the required O_LARGEFILE flag on syscall.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    arch64-linux-gnu, arm-linux-gnueabihf, and powerpc64le-linux-gnu.
    
        * sysdeps/unix/sysv/linux/openat.c (__libc_openat): Build only
        for !__OFF_T_MATCHES_OFF64_T.
        * sysdeps/unix/sysv/linux/openat64.c (__libc_openat64): New
        implementation based on open64.
        * sysdeps/unix/sysv/linux/wordsize-64/openat.c: Remove file.
        * sysdeps/unix/sysv/linux/wordsize-64/openat64.c: Likewise.

commit da69a35566af4405b884220ee72f1f10a98977fa
Author: H.J. Lu <address@hidden>
Date:   Tue Jun 20 14:03:09 2017 -0700

    Move x86 specific tunables to x86/dl-tunables.list
    
        * elf/dl-tunables.list: Move x86 specific tunables to ...
        * sysdeps/x86/dl-tunables.list: Here.  New file.

commit 46ad8909ceec259b3cd22159fbd9c23aca1621f3
Author: Joseph Myers <address@hidden>
Date:   Tue Jun 20 17:51:36 2017 +0000

    conformtest: XFAIL uc_mcontext test for powerpc32 (bug 21635).
    
    This patch XFAILs one test where the powerpc32 ucontext_t has the
    wrong type of a field, to allow the conform/ tests as a whole to pass
    once the namespace issues are fixed.
    
    Tested with build-many-glibcs.py.
    
        [BZ #21635]
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile
        [$(subdir) = conform] (conformtest-xfail-conds): New variable.
        * conform/data/signal.h-data (uc_mcontext): XFAIL for
        powerpc32-linux.
        * conform/data/ucontext.h-data (uc_mcontext): Likewise.

commit e0b5a3b6540524ede1986dbfc5f83dd478445cc2
Author: Joseph Myers <address@hidden>
Date:   Tue Jun 20 17:47:32 2017 +0000

    conformtest: XFAIL uc_sigmask test for ia64 (bug 21634).
    
    This patch XFAILs one test where the ia64 ucontext_t has the wrong
    type of a field, to allow the conform/ tests as a whole to pass once
    the namespace issues are fixed.
    
    Tested with build-many-glibcs.py.
    
        [BZ #21634]
        * sysdeps/unix/sysv/linux/ia64/Makefile [$(subdir) = conform]
        (conformtest-xfail-conds): New variable.
        * conform/data/signal.h-data (uc_sigmask): XFAIL for ia64-linux.
        * conform/data/ucontext.h-data (uc_sigmask): Likewise.

commit 18b759355de5c2b334309fa1db7be7eec55d73c0
Author: Wilco Dijkstra <address@hidden>
Date:   Tue Jun 20 16:46:52 2017 +0100

    Add powf trace
    
    Add a workload for powf.  This is a reduced trace based on 2.3 billion
    samples extracted from wrf.  The distribution of values, in particular
    frequency of commonly used operands is the same as in the full trace.
    
        * benchtests/powf-inputs: Add reduced trace from wrf.

commit 905947c30455bea5eed42cdffd771a11b1554f1d
Author: H.J. Lu <address@hidden>
Date:   Tue Jun 20 08:33:29 2017 -0700

    tunables: Add IFUNC selection and cache sizes
    
    The current IFUNC selection is based on microbenchmarks in glibc.  It
    should give the best performance for most workloads.  But other choices
    may have better performance for a particular workload or on the hardware
    which wasn't available at the selection was made.  The environment
    variable, GLIBC_TUNABLES=glibc.tune.ifunc=-xxx,yyy,-zzz...., can be used
    to enable CPU/ARCH feature yyy, disable CPU/ARCH feature yyy and zzz,
    where the feature name is case-sensitive and has to match the ones in
    cpu-features.h.  It can be used by glibc developers to override the
    IFUNC selection to tune for a new processor or improve performance for
    a particular workload.  It isn't intended for normal end users.
    
    NOTE: the IFUNC selection may change over time.  Please check all
    multiarch implementations when experimenting.
    
    Also, GLIBC_TUNABLES=glibc.tune.x86_non_temporal_threshold=NUMBER is
    provided to set threshold to use non temporal store to NUMBER,
    GLIBC_TUNABLES=glibc.tune.x86_data_cache_size=NUMBER to set data cache
    size, GLIBC_TUNABLES=glibc.tune.x86_shared_cache_size=NUMBER to set
    shared cache size.
    
        * elf/dl-tunables.list (tune): Add ifunc,
        x86_non_temporal_threshold,
        x86_data_cache_size and x86_shared_cache_size.
        * manual/tunables.texi: Document glibc.tune.ifunc,
        glibc.tune.x86_data_cache_size, glibc.tune.x86_shared_cache_size
        and glibc.tune.x86_non_temporal_threshold.
        * sysdeps/unix/sysv/linux/x86/dl-sysdep.c: New file.
        * sysdeps/x86/cpu-tunables.c: Likewise.
        * sysdeps/x86/cacheinfo.c
        (init_cacheinfo): Check and get data cache size, shared cache
        size and non temporal threshold from cpu_features.
        * sysdeps/x86/cpu-features.c [HAVE_TUNABLES] (TUNABLE_NAMESPACE):
        New.
        [HAVE_TUNABLES] Include <unistd.h>.
        [HAVE_TUNABLES] Include <elf/dl-tunables.h>.
        [HAVE_TUNABLES] (TUNABLE_CALLBACK (set_ifunc)): Likewise.
        [HAVE_TUNABLES] (init_cpu_features): Use TUNABLE_GET to set
        IFUNC selection, data cache size, shared cache size and non
        temporal threshold.
        * sysdeps/x86/cpu-features.h (cpu_features): Add data_cache_size,
        shared_cache_size and non_temporal_threshold.

commit beb52f502f0477465313675d2a0fbf3962e130b8
Author: Wilco Dijkstra <address@hidden>
Date:   Tue Jun 20 16:26:26 2017 +0100

    Improve math benchmark infrastructure
    
    Improve support for math function benchmarking.  This patch adds
    a feature that allows accurate benchmarking of traces extracted
    from real workloads.  This is done by iterating over all samples
    rather than repeating each sample many times (which completely
    ignores branch prediction and cache effects).  A trace can be
    added to existing math function inputs via
    "## name: workload-<name>", followed by the trace.
    
            * benchtests/README: Describe workload feature.
            * benchtests/bench-skeleton.c (main): Add support for
            benchmarking traces from workloads.

commit c0b23001a89b79f8d0bebe41bfbe64d840b13191
Author: Zack Weinberg <address@hidden>
Date:   Tue Jun 20 09:39:08 2017 -0400

    Fix fallout from bits/string.h removal.
    
    Remove one more string inline that was defined directly in string.h;
    in the absence of the rest of the inlines, it broke the build.
    
    Like other ifunc shims for these functions,
    x86_64/multiarch/{mem,st}pcpy.c need to define __NO_STRING_INLINES and
    NO_MEMPCPY_STPCPY_REDIRECT.
    
        * string/string.h (__mempcpy_inline): Delete.
        * sysdeps/x86_64/multiarch/mempcpy.c
        * sysdeps/x86_64/multiarch/stpcpy.c:
        Define NO_MEMPCPY_STPCPY_REDIRECT and __NO_STRING_INLINES
        before including string.h.

commit 4cedcaea8dc533ed11d92526bfd4e20ea459e3af
Author: Paul Clarke <address@hidden>
Date:   Tue Jun 20 10:14:42 2017 -0300

    Add powf bench tests
    
    Add powf() bench test with input which covers these cases:
    - positive base to positive exponent
    - exponent 0
    - negative base to even exponent
    - exponent 1
    - exponent -1
    - squared
    - squareroot
    - 1 to negative exponent
    - -1 to negative exponent
    - base 0
    - -1 to even exponent
    - small base
    - small exponent
    
        * benchtests/Makefile (bench-math): Add powf.
        * benchtests/powf-inputs: New file.

commit d8cee557e2b67a654ba4da189bd856f00d813fbe
Author: Zack Weinberg <address@hidden>
Date:   Tue Jun 20 08:31:18 2017 -0400

    Mention in NEWS that __(NO|USE)_STRING_INLINES don't do anything anymore.

commit 09a596cc2cf4e0f9f8e9f3bba4b1a97efcb13bcb
Author: Zack Weinberg <address@hidden>
Date:   Thu Nov 17 09:26:27 2016 -0500

    Remove bits/string.h.
    
    These machine-dependent inline string functions have never been on by
    default, and even if they were a good idea at the time they were
    introduced, they haven't really been touched in ten to fifteen years
    and probably aren't a good idea on current-gen processors.  Current
    thinking is that this class of optimization is best left to the
    compiler.
    
        * bits/string.h, string/bits/string.h
        * sysdeps/aarch64/bits/string.h
        * sysdeps/m68k/m680x0/m68020/bits/string.h
        * sysdeps/s390/bits/string.h, sysdeps/sparc/bits/string.h
        * sysdeps/x86/bits/string.h: Delete file.
    
        * string/string.h: Don't include bits/string.h.
        * string/bits/string3.h: Rename to bits/string_fortified.h.
        No need to undef various symbols that the removed headers
        might have defined as macros.
        * string/Makefile (headers): Remove bits/string.h, change
        bits/string3.h to bits/string_fortified.h.
        * string/string-inlines.c: Update commentary.  Remove definitions
        of various macros that nothing looks at anymore.  Don't directly
        include bits/string.h. Set _STRING_INLINE_unaligned here, based on
        compiler-predefined macros.
        * string/strncat.c: If STRNCAT is not defined, or STRNCAT_PRIMARY
        _is_ defined, provide internal hidden alias __strncat.
        * include/string.h: Declare internal hidden alias __strncat.
        Only forward __stpcpy to __builtin_stpcpy if __NO_STRING_INLINES is
        not defined.
        * include/bits/string3.h: Rename to bits/string_fortified.h,
        update to match above.
    
        * sysdeps/i386/string-inlines.c: Define compat symbols for
        everything formerly defined by sysdeps/x86/bits/string.h.
        Make existing definitions into compat symbols as well.
        Remove some no-longer-necessary messing around with macros.
    
        * sysdeps/powerpc/powerpc32/power4/multiarch/mempcpy.c
        * sysdeps/powerpc/powerpc64/multiarch/mempcpy.c
        * sysdeps/powerpc/powerpc64/multiarch/stpcpy.c
        * sysdeps/s390/multiarch/mempcpy.c
        No need to define _HAVE_STRING_ARCH_mempcpy.
        Do define __NO_STRING_INLINES and NO_MEMPCPY_STPCPY_REDIRECT.
    
        * sysdeps/i386/i686/multiarch/strncat-c.c
        * sysdeps/s390/multiarch/strncat-c.c
        * sysdeps/x86_64/multiarch/strncat-c.c
        Define STRNCAT_PRIMARY.  Don't change definition of libc_hidden_def.

commit b8216e82783774e068106486a8f67357f63acc67
Author: Rical Jasan <address@hidden>
Date:   Tue Jun 20 04:29:33 2017 -0700

    manual: Complete @standards in lang.texi.
    
        * manual/lang.texi (LDBL_MANT_DIG): Add annotation.
        (LDBL_DIG): Likewise.
        (LDBL_MIN_EXP): Likewise.
        (LDBL_MIN_10_EXP): Likewise.
        (LDBL_MAX_EXP): Likewise.
        (LDBL_MAX_10_EXP): Likewise.
        (LDBL_MAX): Likewise.
        (LDBL_MIN): Likewise.
        (LDBL_EPSILON): Likewise.
        (FLT_ROUNDS): Change standard from ISO to C90.
        (FLT_RADIX): Likewise.
        (FLT_MANT_DIG, DBL_MANT_DIG): Likewise.
        (FLT_DIG, DBL_DIG): Likewise.
        (FLT_MIN_EXP, DBL_MIN_EXP): Likewise.
        (FLT_MIN_10_EXP, DBL_MIN_10_EXP): Likewise.
        (FLT_MAX_EXP, DBL_MAX_EXP): Likewise.
        (FLT_MAX_10_EXP, DBL_MAX_10_EXP): Likewise.
        (FLT_MAX, DBL_MAX): Likewise.
        (FLT_MIN, DBL_MIN): Likewise.
        (FLT_EPSILON, DBL_EPSILON): Likewise.

commit 6c2ec6677bb06c51f4d8f4084212a83aad6a38e9
Author: Joseph Myers <address@hidden>
Date:   Mon Jun 19 23:24:36 2017 +0000

    Remove pre-GCC-4.9 MIPS code.
    
    This patch removes some MIPS code in glibc that was conditional on old
    GCC versions no longer supported for building glibc.
    
    Tested with build-many-glibcs.py.
    
        * sysdeps/mips/atomic-machine.h (R10K_BEQZ_INSN): Remove.
        [__GNUC_PREREQ (4, 8) || __mips16]: Make code unconditional.
        [!__GNUC_PREREQ (4, 8) && !__mips16]: Remove conditional code.
        * sysdeps/mips/math-tests.h
        [_MIPS_SIM != _ABIO32 && !__GNUC_PREREQ (4, 9)]: Remove
        conditional code.

commit 37e9dc814636915afb88d0779e5e897e90e7b8c0
Author: Florian Weimer <address@hidden>
Date:   Mon Jun 19 14:44:33 2017 +0200

    DCIGETTEXT: Do not make copy of localename

commit 81b82fb966ffbd94353f793ad17116c6088dedd9
Author: Florian Weimer <address@hidden>
Date:   Mon Jun 19 22:32:12 2017 +0200

    ld.so: Reject overly long LD_AUDIT path elements
    
    Also only process the last LD_AUDIT entry.

commit 6d0ba622891bed9d8394eef1935add53003b12e8
Author: Florian Weimer <address@hidden>
Date:   Mon Jun 19 22:31:04 2017 +0200

    ld.so: Reject overly long LD_PRELOAD path elements

commit bf15120dd7860ac976f22e20fa386d8bf73c70e7
Author: Joseph Myers <address@hidden>
Date:   Mon Jun 19 16:39:17 2017 +0000

    Fix wait3 namespace (bug 21625).
    
    The wait3 function was removed in the 2001 edition of POSIX.
    sys/wait.h wrongly declares it for the 2001 and 2008 editions of POSIX
    when XSI features are enabled.  This patch fixes the conditionals.
    
    Tested for x86_64.
    
        [BZ #21625]
        * posix/sys/wait.h (strust rusage forward declaration): Change
        [__USE_XOPEN_EXTENDED] conditional to [__USE_XOPEN_EXTENDED &&
        !__USE_XOPEN2K].
        (wait3): Likewise.

commit 4add86749a31f302674599b69d2eea691d69341a
Author: Joseph Myers <address@hidden>
Date:   Mon Jun 19 16:33:00 2017 +0000

    Require GCC 4.9 or later for building glibc.
    
    This patch makes configure require GCC 4.9 or later for building
    glibc, and documents that requirement.  Requiring GCC 4.9 or later
    allows use of _Generic (as in tzcode).  It would allow <stdatomic.h>
    and _Atomic to be used as well if desired, although we need to avoid
    any libatomic dependencies on any platforms.  This patch is explicitly
    the minimum to implement a new version requirement, with any
    consequent cleanups of conditional code (not in installed headers or
    files shared with gnulib etc.) to be done separately.
    
    Tested for x86_64.
    
        * configure.ac (libc_cv_compiler_ok): Require GCC 4.9 or later.
        * configure: Regenerated.
        * manual/install.texi (Tools for Compilation): Document
        requirement for GCC 4.9 or later.
        * INSTALL: Regenerated.

commit f6110a8fee2ca36f8e2d2abecf3cba9fa7b8ea7d
Author: Florian Weimer <address@hidden>
Date:   Mon Jun 19 17:09:55 2017 +0200

    CVE-2017-1000366: Ignore LD_LIBRARY_PATH for AT_SECURE=1 programs [BZ 
#21624]
    
    LD_LIBRARY_PATH can only be used to reorder system search paths, which
    is not useful functionality.
    
    This makes an exploitable unbounded alloca in _dl_init_paths unreachable
    for AT_SECURE=1 programs.

commit b08a6a0dea63742313ed3d9577c1e2d83436b196
Author: Stefan Liebler <address@hidden>
Date:   Mon Jun 19 16:27:25 2017 +0200

    S390: Sync ptrace.h with kernel. [BZ #21539]
    
    This patch removes PTRACE_GETREGS, PTRACE_SETREGS, PTRACE_GETFPREGS
    and PTRACE_SETFPREGS as these requests does not exist on s390 kernel.
    
    But the kernel has support for PTRACE_SINGLEBLOCK,
    PTRACE_SECCOMP_GET_FILTER, PTRACE_PEEKUSR_AREA, PTRACE_POKEUSR_AREA,
    PTRACE_GET_LAST_BREAK, PTRACE_ENABLE_TE, PTRACE_DISABLE_TE and
    PTRACE_TE_ABORT_RAND.  Thus those are defined now.
    
    The current kernel s390 specific ptrace.h file also defines
    PTRACE_PEEKTEXT_AREA, PTRACE_PEEKDATA_AREA, PTRACE_POKETEXT_AREA,
    PTRACE_POKEDATA_AREA, PTRACE_PEEK_SYSTEM_CALL, PTRACE_POKE_SYSTEM_CALL
    and PTRACE_PROT, but those requests are not supported.
    Thus those defines are skipped in glibc ptrace.h.
    
    There were old includes of ptrace.h in sysdeps/s390/fpu/fesetenv.c.
    The ptrace feature isn't used there anymore, thus I removed the includes.
    
    Before this patch, <glibc>/sysdeps/unix/sysv/linux/s390/sys/ptrace.h
    uses ptrace-request 12 for PTRACE_GETREGS,
    but <kernel>/include/uapi/linux/ptrace.h uses 12 for PTRACE_SINGLEBLOCK.
    
    The s390 kernel has never had support for PTRACE_GETREGS!
    Thus glibc ptrace.h is adjusted to match kernel ptrace.h.
    
    The new s390 specific test ensures, that PTRACE_SINGLEBLOCK defined
    in glibc works as expected.  If the kernel would interpret it as
    PTRACE_GETREGS, then the testcase will not make any progress
    and will time out.
    
    ChangeLog:
    
        [BZ #21539]
        * NEWS: Mention s390 ptrace request changes.
        * sysdeps/unix/sysv/linux/s390/sys/ptrace.h
        (PTRACE_GETREGS, PTRACE_SETREGS, PTRACE_GETFPREGS,
        PTRACE_SETFPREGS): Remove enum constant.
        (PT_GETREGS, PT_SETREGS, PT_GETFPREGS, T_SETFPREGS):
        Remove defines.
        (PTRACE_SINGLEBLOCK): New enum constant.
        (PT_STEPBLOCK): New define.
        (PTRACE_PEEKUSR_AREA, PTRACE_POKEUSR_AREA,
        PTRACE_GET_LAST_BREAK, PTRACE_ENABLE_TE, PTRACE_DISABLE_TE,
        PTRACE_TE_ABORT_RAND): New enum constant and define.
        * sysdeps/s390/fpu/fesetenv.c: Remove ptrace.h includes.
        * sysdeps/unix/sysv/linux/s390/tst-ptrace-singleblock.c:
        New file.
        * sysdeps/unix/sysv/linux/s390/Makefile: Add test.

commit 89f187a40fc0ad4e22838526bfe34d73f758b776
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 16 20:54:43 2017 +0200

    resolv: Use getline for configuration file reading in res_vinit_1

commit ea4924ce5bccfccc4e8a492faa96933131abd9ef
Author: Florian Weimer <address@hidden>
Date:   Mon Jun 19 14:05:49 2017 +0200

    resolv: Report allocation errors in __res_vinit

commit 4c4480eecb2e00764dd3bf79d68ea4e1d747d78c
Author: Florian Weimer <address@hidden>
Date:   Mon Jun 19 13:20:46 2017 +0200

    resolv: Reformat res_vinit and related functions to GNU style
    
    Also remove some obsolete comments.

commit 94f094f22b50a20de9042cb1e78c7299992a91c9
Author: Florian Weimer <address@hidden>
Date:   Mon Jun 19 13:19:00 2017 +0200

    resolv: Introduce is_sort_mask and call it from res_vinit

commit e68111fbd63e84b66bd9e03b42721c79230b9b6d
Author: Florian Weimer <address@hidden>
Date:   Mon Jun 19 13:18:45 2017 +0200

    resolv: Remove DEBUG preprocessor conditionals from res_setoptions

commit e4e5b57d23b4ebdbf773fedba91160158f95af94
Author: Florian Weimer <address@hidden>
Date:   Mon Jun 19 13:17:49 2017 +0200

    resolv: Move _res deallocation functions to their own file

commit 26bf5a1029434c98db85947eed11ce3090b2f5db
Author: Florian Weimer <address@hidden>
Date:   Mon Jun 19 13:17:03 2017 +0200

    resolv: Move res_randomid to its own file

commit ca3d65ff69d5187cb4d6b7f81d414427c7007e22
Author: Florian Weimer <address@hidden>
Date:   Mon Jun 19 13:15:11 2017 +0200

    resolv: Make __res_vinit hidden
    
    And remove unnecessary separate declarations.

commit 487549c466e1434e812ca8877dd487398bc2df4e
Author: Joseph Myers <address@hidden>
Date:   Mon Jun 19 12:21:35 2017 +0000

    Fix another x86 sys/ucontext.h namespace issue (bug 21457).
    
    This patch fixes a namespace issue for one more field in the x86
    sys/ucontext.h that I missed in my previous changes.
    
    Tested for x86_64.
    
        [BZ #21457]
        * sysdeps/unix/sysv/linux/x86/sys/ucontext.h [__x86_64__] (struct
        _libc_xmmreg): Use __ctx in defining field.

commit ed8cfb00c2fc291da1cece028bcdb05b2f4dd372
Author: Joseph Myers <address@hidden>
Date:   Mon Jun 19 12:18:46 2017 +0000

    Fix siginterrupt namespace (bug 21597).
    
    The siginterrupt function is XSI-shaded in POSIX.  glibc wrongly
    declares it in <signal.h> for non-XSI POSIX.1:2008.  This patch fixes
    the conditionals (moving it into the __USE_XOPEN_EXTENDED ||
    __USE_MISC block as the minimum conservative change, although it's not
    clear this obsolescent function should be declared by default).
    
    Tested for x86_64.
    
        [BZ #21597]
        * signal/signal.h (siginterrupt): Make declaration conditional on
        [__USE_XOPEN_EXTENDED || __USE_MISC].

commit 21f8859dd08fd231198eda4095061837d527b926
Author: Joseph Myers <address@hidden>
Date:   Mon Jun 19 12:00:13 2017 +0000

    Fix signal stack namespace (bug 21584).
    
    In POSIX.1:2008, various signal stack symbols - sigaltstack, SS_*,
    SIGSTKSZ, MINSIGSTKSZ - are all XSI-shaded.  glibc wrongly makes them
    visible for non-XSI POSIX.  This patch fixes the conditionals, leaving
    the symbols available for __USE_MISC as it seems likely some of them
    are widely used and should be visible by default.  (Note that stack_t
    is *not* XSI-shaded and so the conditionals on that are correctly
    unchanged.)
    
    Tested for x86_64.
    
        [BZ #21584]
        * signal/signal.h: Make includes of <bits/sigstack.h> and
        <bits/ss_flags.h> conditional on [__USE_XOPEN_EXTENDED ||
        __USE_MISC].
        (sigaltstack): Make declaration conditional on
        [__USE_XOPEN_EXTENDED || __USE_MISC].

commit a66bc30d6b19ca6c9c77c0d3750acb18c691705f
Author: Joseph Myers <address@hidden>
Date:   Mon Jun 19 11:59:19 2017 +0000

    Define struct rusage in sys/wait.h when required (bug 21575).
    
    Some older standards (XPG4.2 through POSIX.1:2001, XSI only) require
    sys/wait.h to include the definition of struct rusage.  This is
    missing in glibc.
    
    This patch adds the required definition.  struct rusage is moved to a
    new header bits/types/struct_rusage.h to avoid bringing in the whole
    of sys/resource.h (although the standards in question do allow the
    whole of sys/resource.h to be brought in).  In the five
    bits/resource.h headers, the only variation between the definitions of
    struct rusage is that the sysdeps/unix/sysv/linux version is prepared
    for x32 (by having anonymous unions with __syscall_slong_t fields) and
    the others are not.  Thus, this version is suitable for use
    generically (everything other than x32 simply has __syscall_slong_t
    the same as long int, so there are no API or ABI changes involved, and
    anonymous unions are already a required language feature for glibc
    headers elsewhere), and this patch uses it as a base for the single
    implementation of bits/types/struct_rusage.h.
    
    Tested for x86_64, and with build-many-glibcs.py.
    
        [BZ #21575]
        * resource/bits/types/struct_rusage.h: New file.
        * include/bits/types/struct_rusage.h: Likewise.
        * bits/resource.h (struct rusage): Include
        <bits/types/struct_rusage.h> instead of defining here.
        * sysdeps/unix/sysv/linux/bits/resource.h (struct rusage):
        Likewise.
        * sysdeps/unix/sysv/linux/alpha/bits/resource.h (struct rusage):
        Likewise.
        * sysdeps/unix/sysv/linux/mips/bits/resource.h (struct rusage):
        Likewise.
        * sysdeps/unix/sysv/linux/sparc/bits/resource.h (struct rusage):
        Likewise.
        * resource/Makefile (headers): Add bits/types/struct_rusage.h.
        * posix/sys/wait.h [__USE_XOPEN_EXTENDED && !__USE_XOPEN2K8]:
        Include <bits/types/struct_rusage.h>

commit 5b83faf6a7ca57ef2bfbca2c77992cafc8daa0be
Author: Florian Weimer <address@hidden>
Date:   Mon Jun 19 12:58:08 2017 +0200

    dynarray: Use libc_hidden_proto only for !_ISOMAC
    
    With this change, it is possible to use dynarray from non-internal
    tests.

commit 629ebc873a275e5f44e2e9f0a22341132aac4cd1
Author: Siddhesh Poyarekar <address@hidden>
Date:   Mon Jun 19 14:56:40 2017 +0530

    Fix typo when undefining weak_alias
    
    The macro directive #undef was miswritten as #undefine.
    
        * sysdeps/x86_64/multiarch/rawmemchr-sse2.S: Fix typo.

commit a4de0a9008d6f15e1509c9818ba6e50d78bb83f3
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Jun 19 14:47:21 2017 +0530

    Fix gen-tunables.awk to work with older awk
    
    Awk 3.1.x does not support multi-dimensional arrays, so fix up to make
    sure that gen-tunables.awk works on it.
    
        * scripts/gen-tunables.awk: Avoid multi-dimensional arrays.

commit 5e5b3b886635b52d9baa87414b97965190035e46
Author: Stefan Liebler <address@hidden>
Date:   Mon Jun 19 11:06:49 2017 +0200

    S390: Fix build with gcc configured with --enable-default-pie. [BZ #21537]
    
    Building glibc with gcc configured with --enable-default-pie failed on s390
    due to assembler messages:
    ../sysdeps/unix/sysv/linux/s390/s390-32/__makecontext_ret.S:44:
    Error: junk at end of line, first unrecognized character is `@'
    
    HIDDEN_JUMPTARGET was expanded to address@hidden@GOTOFF.
    If SHARED is not defined, HIDDEN_JUMPTARGET is defined to JUMPTARGET
    in sysdeps/s390/s390-32/sysdep.h.  There it expanded to address@hidden
    in non SHARED case as PIC is defined if gcc is configured with
    --enable-default-pie. Thus I've changed the "ifdef PIC" to "ifdef SHARED"
    as we do not want PLTs in the static obj files.  I've also changed this
    in sysdeps/s390/s390-64/sysdep.h.
    
    I've also adjusted sysdeps/unix/sysv/linux/s390/s390-32/__makecontext_ret.S.
    If glibc is configured with --disable-hidden-plt, then NO_HIDDEN is defined.
    In SHARED case HIDDEN_JUMPTARGET would be expanded to address@hidden@GOTOFF
    instead of address@hidden
    Now we jump to:
    - __GI_exit if SHARED is defined
    - address@hidden if SHARED and NO_HIDDEN is defined
    - exit if both are not defined.
    On s390 31bit we have to setup GOT pointer in r12 if we use a PLT stub.
    Therefore I use SYSCALL_PIC_SETUP from sysdep.h and added the missing 
semicolons.
    
    ChangeLog:
    
        [BZ #21537]
        * sysdeps/s390/s390-32/sysdep.h (JUMPTARGET, SYSCALL_PIC_SETUP):
        Check SHARED instead of PIC.
        (SYSCALL_PIC_SETUP): Add missing semicolons.
        * sysdeps/s390/s390-64/sysdep.h (JUMPTARGET, SYSCALL_PIC_SETUP):
        Check SHARED instead of PIC.
        * sysdeps/unix/sysv/linux/s390/s390-32/__makecontext_ret.S
        (__makecontext_ret): Adjust code to jump to exit.

commit 35810f5ccf735d8df0a783bc6ed5fbe455e64876
Author: Christian Borntraeger <address@hidden>
Date:   Mon Jun 19 10:59:40 2017 +0200

    s390: optimize syscall function
    
    Since kernel 2.6.0 all Linux version accept the system call number
    in register 1 for svc 0. There is no need to have special handling
    that uses EX for system calls < 256. This will simplify and speed
    up that code.
    
    A microbenchmark doing "syscall(__NR_getpid);" in a loops gets faster
    by ~12%.
    
            * sysdeps/unix/sysv/linux/s390/s390-32/syscall.S: Simplify
            code by always using SVC 0 instead of EX.
            * sysdeps/unix/sysv/linux/s390/s390-64/syscall.S: Likewise.

commit 52243b520e2d336431ea410ef3aa1f766642f1d2
Author: H.J. Lu <address@hidden>
Date:   Fri Jun 16 06:45:55 2017 -0700

    Remove _dl_out_of_memory from elf/Versions
    
    Since _dl_out_of_memory is static in elf/dl-error-skeleton.c:
    
    static const char _dl_out_of_memory[] = "out of memory";
    
    remove _dl_out_of_memory from elf/Versions.
    
        * elf/Versions (ld): Remove _dl_out_of_memory.

commit 92bd70fb85bce57ac47ba5d8af008736832c955a
Author: Joseph Myers <address@hidden>
Date:   Fri Jun 16 11:09:21 2017 +0000

    Update timezone code from tzcode 2017b.
    
    This patch updates files coming from tzcode to the versions in tzcode
    2017b.  A couple of changes to other glibc code are needed.
    time/tzset.c was using the SECSPERDAY macro from tzfile.h, which no
    longer defines that macro, so a local definition is added to tzset.c.
    Because timezone/private.h now defines the _ macro whenever
    HAVE_GETTEXT is true, even if it was previously defined, it is also
    necessary to avoid a conflict with the definition in
    include/libintl.h.  Defining _ISOMAC is the obvious way to avoid such
    internal definitions being visible, together with defining TZ_DOMAIN
    so that zic and zdump continue to get the messages from the libc
    domain as desired.  However, zic and zdump rely on PKGVERSION and
    REPORT_BUGS_TO from config.h, which is not included by default with
    _ISOMAC, so -include config.h needs adding to the options for these
    programs as well.  Together those changes allow unmodified tzcode
    2017b sources to work in glibc.
    
    Tested for x86_64.
    
        * timezone/private.h: Update from tzcode 2017b.
        * timezone/tzfile.h: Likewise.
        * timezone/tzselect.ksh: Likewise.
        * timezone/zdump.c: Likewise.
        * timezone/zic.c: Likewise.
        * timezone/Makefile (tz-cflags): Add -D_ISOMAC
        -DTZ_DOMAIN='"libc"' -include $(common-objpfx)config.h.
        * time/tzset.c (SECSPERDAY): New macro.

commit a448ee41e70a0b1d26557ffce8e550fe4aad2525
Author: Rical Jasan <address@hidden>
Date:   Fri Jun 16 01:06:51 2017 -0700

    manual: Complete @standards in string.texi.
    
        * manual/string.texi (strdup): Complete header and standards
        annotation.
        (strncpy): Likewise.

commit 1b009d5ac3e048546920af678ee9e357250957da
Author: Rical Jasan <address@hidden>
Date:   Fri Jun 16 00:27:09 2017 -0700

    manual: Complete @standards in arith.texi.
    
        * manual/arith.texi (FP_NAN): Add or complete header and
        standard annotations.
        (FP_INFINITE): Likewise.
        (FP_ZERO): Likewise.
        (FP_SUBNORMAL): Likewise.
        (FP_NORMAL): Likewise.
        (SNAN): Likewise.
        (SNANL): Likewise.
        (totalorderf): Likewise.
        (totalorderl): Likewise.
        (totalordermagf): Likewise.
        (totalordermagl): Likewise.
        (_Complex_I): Likewise.
        (I): Likewise.

commit 76b9ffef87fa2328bf491257bc6379add1344f2d
Author: Rical Jasan <address@hidden>
Date:   Fri May 26 03:59:15 2017 -0700

    manual: Complete @standards in argp.texi.
    
        * manual/argp.texi (ARGP_HELP_USAGE): Add missing header and
        standard annotation.
        (ARGP_HELP_SHORT_USAGE): Likewise.
        (ARGP_HELP_SEE): Likewise.
        (ARGP_HELP_LONG): Likewise.
        (ARGP_HELP_PRE_DOC): Likewise.
        (ARGP_HELP_POST_DOC): Likewise.
        (ARGP_HELP_DOC): Likewise.
        (ARGP_HELP_BUG_ADDR): Likewise.
        (ARGP_HELP_LONG_ONLY): Likewise.
        (ARGP_HELP_EXIT_ERR): Likewise.
        (ARGP_HELP_EXIT_OK): Likewise.
        (ARGP_HELP_STD_ERR): Likewise.
        (ARGP_HELP_STD_USAGE): Likewise.
        (ARGP_HELP_STD_HELP): Likewise.

commit d08a7e4cbe43d5e4e4b14dea950fea623d96c1a1
Author: Rical Jasan <address@hidden>
Date:   Thu Jun 15 21:12:39 2017 -0700

    manual: Replace summary.awk with summary.pl.
    
    The Summary is now generated from @standards, and syntax-checking is
    performed.  If invalid @standards syntax is detected, summary.pl will
    fail, reporting all errors.  Failure and error reporting is disabled
    for now, however, since much of the manual is still incomplete
    wrt. header and standards annotations.
    
    Note that the sorting order of the Summary has changed; summary.pl
    respects the locale, like summary.awk did, but the use of LC_ALL=C is
    introduced in the Makefile.  Other notable deviations are improved
    detection of the annotated elements' names, which are used for
    sorting, and improved detection of the @node used to reference into
    the manual.  The most noticeable difference in the rendered Summary is
    that entries may now contain multiple lines, one for each header and
    standard combination.
    
    summary.pl accepts a `--help' option, which details the expected
    syntax of @standards.  If errors are reported, the user is directed to
    this feature for further information.
    
        * manual/Makefile: Generate summary.texi with summary.pl.
        Force use of the C locale.  Update Perl dependency comment.
        * manual/header.texi: Update reference to summary.awk.
        * manual/macros.texi: Refer authors to `summary.pl --help'.
        * manual/summary.awk: Remove file.
        * manual/summary.pl: New file.  Generate summary.texi, and
        check for @standards-related syntax errors.
        * manual/argp.texi: Convert header and standards @comments to
        @standards.
        * manual/arith.texi: Likewise.
        * manual/charset.texi: Likewise.
        * manual/conf.texi: Likewise.
        * manual/creature.texi: Likewise.
        * manual/crypt.texi: Likewise.
        * manual/ctype.texi: Likewise.
        * manual/debug.texi: Likewise.
        * manual/errno.texi: Likewise.
        * manual/filesys.texi: Likewise.
        * manual/getopt.texi: Likewise.
        * manual/job.texi: Likewise.
        * manual/lang.texi: Likewise.
        * manual/llio.texi: Likewise.
        * manual/locale.texi: Likewise.
        * manual/math.texi: Likewise.
        * manual/memory.texi: Likewise.
        * manual/message.texi: Likewise.
        * manual/pattern.texi: Likewise.
        * manual/pipe.texi: Likewise.
        * manual/process.texi: Likewise.
        * manual/resource.texi: Likewise.
        * manual/search.texi: Likewise.
        * manual/setjmp.texi: Likewise.
        * manual/signal.texi: Likewise.
        * manual/socket.texi: Likewise.
        * manual/startup.texi: Likewise.
        * manual/stdio.texi: Likewise.
        * manual/string.texi: Likewise.
        * manual/sysinfo.texi: Likewise.
        * manual/syslog.texi: Likewise.
        * manual/terminal.texi: Likewise.
        * manual/threads.texi: Likewise.
        * manual/time.texi: Likewise.
        * manual/users.texi: Likewise.

commit 27691d5cec9b896ea0792151a27c6d7d7a4065ea
Author: Rical Jasan <address@hidden>
Date:   Sun Mar 12 22:30:41 2017 -0700

    manual: Create empty placeholder macros for @standards.
    
    Header and standards annotations are slated for standardization,
    including being rendered in the description of functions, variables,
    etc. (elements), and eventually required.  This commit adds @standards
    dummy macros so we can convert all existing annotations to the new
    framework while maintaining the rendered status quo.
    
    There needs to be a way to disambiguate annotations in lists of @*x
    elements, where a common description is shared but some elements may
    have different headers or standards.  The @standardsx macro fills this
    role by accepting an additional parameter: the name of the annotated
    element.
    
        * manual/macros.texi (@standards): New macro.  Provide
        placeholder for header and standards annotations.
        (@standardsx): New macro.  Likewise, for lists of @*x
        elements.

commit 48d966eb359b559f292b7f6896eff7746e5af390
Author: Adhemerval Zanella <address@hidden>
Date:   Fri May 19 10:33:58 2017 -0300

    linux: Consolidate sync_file_range implementation
    
    This patch consolidates Linux sync_file_range at default
    sysdeps/unix/sysv/linux/sync_file_range.c implementation.  It also
    moves the rules flags from generic io/Makefile to Linux one due the
    fact it is a Linux-only symbol.
    
    Checked on i686-linux-gnu and x86_64-linux-gnu.
    
        * io/Makefile (CFLAGS-sync_file_range.c): Remove rule.
        * sysdeps/unix/sysv/linux/Makefile (CFLAGS-sync_file_range.c): New
        rule.
        * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Remove
        sync_file_range.

commit 244361ebaec57a6fbb9998bfa5ec71ee8d88f3e8
Author: Adhemerval Zanella <address@hidden>
Date:   Wed May 24 09:17:34 2017 -0300

    support: Add optstring support
    
    This patch adds an option to test to add small command line option
    through CMDLINE_OPTSTRING define.  For instance:
    
      #define CMDLINE_OPTSTRING "vd"
    
      static void
      cmdline_process_function (int c)
      {
        switch (c):
          'v':
            /* process '-v' option.  */
          break;
          'd':
            /* process '-d' option.  */
          break;
      }
      #define CMDLINE_PROCESS cmdline_process_function
    
    It will add both '-v' and '-d' along with already default long options.
    
        * support/support_test_main.c (support_test_main):  Use optstring
        member for option string in getopt_long.
        * support/test-driver.c: Add comment about CMDLINE_OPTSTRING.
        (CMDLINE_OPTSTRING): New define.
        * support/test-driver.h (test_config): Add optstring member.

commit 70fe2eb79417166c39a36699f591138bfe5c5307
Author: H.J. Lu <address@hidden>
Date:   Thu Jun 15 08:58:56 2017 -0700

    x86-64: Implement strcspn/strpbrk/strspn IFUNC selectors in C
    
    Implement strcspn/strpbrk/strspn IFUNC selectors in C
    
    All internal calls within libc.so can use IFUNC on x86-64 since unlike
    x86, x86-64 supports PC-relative addressing to access the GOT entry so
    that it can call via PLT without using an extra register.  For libc.a,
    we can't use IFUNC for functions which are called before IFUNC has been
    initialized.  Use IFUNC internally reduces the icache footprint since
    libc.so and other codes in the process use the same implementations.
    This patch uses IFUNC for strcspn/strpbrk/strspn functions within libc.
    
        * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
        strcspn-sse2, strpbrk-sse2 and strspn-sse2.
        * sysdeps/x86_64/strcspn.S (STRPBRK_P): Removed.
        Check USE_AS_STRPBRK instead of STRPBRK_P.
        * sysdeps/x86_64/strpbrk.S (USE_AS_STRPBRK): New.
        * sysdeps/x86_64/multiarch/ifunc-sse4_2.h: New file.
        * sysdeps/x86_64/multiarch/strcspn-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/strcspn.c: Likewise.
        * sysdeps/x86_64/multiarch/strpbrk-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/strpbrk.c: Likewise.
        * sysdeps/x86_64/multiarch/strspn-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/strspn.c: Likewise.
        * sysdeps/x86_64/multiarch/strcspn.S: Removed.
        * sysdeps/x86_64/multiarch/strpbrk.S: Likewise.
        * sysdeps/x86_64/multiarch/strspn.S: Likewise.
        * sysdeps/x86_64/multiarch/strpbrk-c.c: Remove "#ifdef SHARED"
        and "#endif".

commit 9f4254b8bd1b948c3a90e48a126236bf3e5e70a0
Author: H.J. Lu <address@hidden>
Date:   Thu Jun 15 08:57:39 2017 -0700

    x86-64: Implement wcscpy IFUNC selector in C
    
        * sysdeps/x86_64/multiarch/wcscpy.S: Removed.
        * sysdeps/x86_64/multiarch/wcscpy.c: New file.

commit 9ed0aa15d316fb30e056d3a2e8f3361460c67e78
Author: H.J. Lu <address@hidden>
Date:   Thu Jun 15 08:56:48 2017 -0700

    x86-64: Implement strcat family IFUNC selectors in C
    
    Implement strcat family IFUNC selectors in C.
    
    All internal calls within libc.so can use IFUNC on x86-64 since unlike
    x86, x86-64 supports PC-relative addressing to access the GOT entry so
    that it can call via PLT without using an extra register.  For libc.a,
    we can't use IFUNC for functions which are called before IFUNC has been
    initialized.  Use IFUNC internally reduces the icache footprint since
    libc.so and other codes in the process use the same implementations.
    This patch uses IFUNC for strcat family functions within libc.
    
        * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
        strcat-sse2.
        * sysdeps/x86_64/multiarch/strcat-sse2.S: New file.
        * sysdeps/x86_64/multiarch/strcat.c: Likewise.
        * sysdeps/x86_64/multiarch/strncat.c: Likewise.
        * sysdeps/x86_64/multiarch/strcat.S: Removed.
        * sysdeps/x86_64/multiarch/strncat.S: Likewise.

commit b91a52d0d77d8c532d2cfa13be0db92faa397c4b
Author: H.J. Lu <address@hidden>
Date:   Thu Jun 15 08:49:43 2017 -0700

    x86-64: Implement memcmp family IFUNC selectors in C
    
    Implement memcmp family IFUNC selectors in C.
    
    All internal calls within libc.so can use IFUNC on x86-64 since unlike
    x86, x86-64 supports PC-relative addressing to access the GOT entry so
    that it can call via PLT without using an extra register.  For libc.a,
    we can't use IFUNC for functions which are called before IFUNC has been
    initialized.  Use IFUNC internally reduces the icache footprint since
    libc.so and other codes in the process use the same implementations.
    This patch uses IFUNC for memcmp family functions within libc.
    
        * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
        memcmp-sse2.
        * sysdeps/x86_64/multiarch/ifunc-memcmp.h: New file.
        * sysdeps/x86_64/multiarch/memcmp-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/memcmp.c: Likewise.
        * sysdeps/x86_64/multiarch/wmemcmp.c: Likewise.
        * sysdeps/x86_64/multiarch/memcmp.S: Removed.
        * sysdeps/x86_64/multiarch/wmemcmp.S: Likewise.

commit 93e46f87735e59c15eece22a086948519d129e1c
Author: H.J. Lu <address@hidden>
Date:   Thu Jun 15 08:33:25 2017 -0700

    x86-64: Implement memset family IFUNC selectors in C
    
    Implement memset family IFUNC selectors in C.
    
    All internal calls within libc.so can use IFUNC on x86-64 since unlike
    x86, x86-64 supports PC-relative addressing to access the GOT entry so
    that it can call via PLT without using an extra register.  For libc.a,
    we can't use IFUNC for functions which are called before IFUNC has been
    initialized.  Use IFUNC internally reduces the icache footprint since
    libc.so and other codes in the process use the same implementations.
    This patch uses IFUNC for memset functions within libc.
    
    2017-06-07  H.J. Lu  <address@hidden>
            Erich Elsen  <address@hidden>
    
        * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
        memset-sse2-unaligned-erms, and memset_chk-nonshared.
        * sysdeps/x86_64/multiarch/ifunc-impl-list.c
        (__libc_ifunc_impl_list): Add test for __memset_chk_erms.
        Update comments.
        * sysdeps/x86_64/multiarch/ifunc-memset.h: New file.
        * sysdeps/x86_64/multiarch/memset-sse2-unaligned-erms.S: Likewise.
        * sysdeps/x86_64/multiarch/memset.c: Likewise.
        * sysdeps/x86_64/multiarch/memset_chk-nonshared.S: Likewise.
        * sysdeps/x86_64/multiarch/memset_chk.c: Likewise.
        * sysdeps/x86_64/multiarch/memset.S: Removed.
        * sysdeps/x86_64/multiarch/memset_chk.S: Likewise.
        * sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S
        (__memset_chk_erms): New function.

commit 2c0b90ab443abc967cbf75add4f7fde84978cb95
Author: Siddhesh Poyarekar <address@hidden>
Date:   Thu Jun 15 15:12:54 2017 +0530

    Enable tunables by default
    
    All of the major architectures are adopting tunables as a way to add
    tuning to the library, from hwcap_mask for aarch64 to HLE for s390 and
    ifunc and cache geometry for x86.  Given this adoption and the fact
    that we don't want additional tuning knobs to be added outside of
    tunables, it makes sense to enable tunables by default using this
    trivial patch.
    
    Smoke tested on x86 to ensure that tunables code was built without
    specifying it as a configure flag.  I have kept it as --enabled and
    not changed it to --disable since we want to still keep the option of
    different kinds of front-ends for tunables.
    
        * configure.ac(--enable-tunables): Enable by default.
        * configure: Regenerate.
        * NEWS: Mention change.
        * manual/install.texi (enable-tunables): Adjust documentation.
        * INSTALL: Regenerate.

commit 0edbf1230131dfeb03d843d2859e2104456fad80
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Jan 31 18:01:59 2017 -0200

    nptl: Invert the mmap/mprotect logic on allocated stacks (BZ#18988)
    
    Current allocate_stack logic for create stacks is to first mmap all
    the required memory with the desirable memory and then mprotect the
    guard area with PROT_NONE if required.  Although it works as expected,
    it pessimizes the allocation because it requires the kernel to actually
    increase commit charge (it counts against the available physical/swap
    memory available for the system).
    
    The only issue is to actually check this change since side-effects are
    really Linux specific and to actually account them it would require a
    kernel specific tests to parse the system wide information.  On the kernel
    I checked /proc/self/statm does not show any meaningful difference for
    vmm and/or rss before and after thread creation.  I could only see
    really meaningful information checking on system wide /proc/meminfo
    between thread creation: MemFree, MemAvailable, and Committed_AS shows
    large difference without the patch.  I think trying to use these
    kind of information on a testcase is fragile.
    
    The BZ#18988 reports shows that the commit pages are easily seen with
    mlockall (MCL_FUTURE) (with lock all pages that become mapped in the
    process) however a more straighfoward testcase shows that pthread_create
    could be faster using this patch:
    
    --
    static const int inner_count = 256;
    static const int outer_count = 128;
    
    static
    void *thread1(void *arg)
    {
      return NULL;
    }
    
    static
    void *sleeper(void *arg)
    {
      pthread_t ts[inner_count];
      for (int i = 0; i < inner_count; i++)
        pthread_create (&ts[i], &a, thread1, NULL);
      for (int i = 0; i < inner_count; i++)
        pthread_join (ts[i], NULL);
    
      return NULL;
    }
    
    int main(void)
    {
      pthread_attr_init(&a);
      pthread_attr_setguardsize(&a, 1<<20);
      pthread_attr_setstacksize(&a, 1134592);
    
      pthread_t ts[outer_count];
      for (int i = 0; i < outer_count; i++)
        pthread_create(&ts[i], &a, sleeper, NULL);
      for (int i = 0; i < outer_count; i++)
        pthread_join(ts[i], NULL);
        assert(r == 0);
      }
      return 0;
    }
    
    --
    
    On x86_64 (4.4.0-45-generic, gcc 5.4.0) running the small benchtests
    I see:
    
    $ time ./test
    
    real        0m3.647s
    user        0m0.080s
    sys 0m11.836s
    
    While with the patch I see:
    
    $ time ./test
    
    real        0m0.696s
    user        0m0.040s
    sys 0m1.152s
    
    So I added a pthread_create benchtest (thread_create) which check
    the thread creation latency.  As for the simple benchtests, I saw
    improvements in thread creation on all architectures I tested the
    change.
    
    Checked on x86_64-linux-gnu, i686-linux-gnu, aarch64-linux-gnu,
    arm-linux-gnueabihf, powerpc64le-linux-gnu, sparc64-linux-gnu,
    and sparcv9-linux-gnu.
    
        [BZ #18988]
        * benchtests/thread_create-inputs: New file.
        * benchtests/thread_create-source.c: Likewise.
        * support/xpthread_attr_setguardsize.c: Likewise.
        * support/Makefile (libsupport-routines): Add
        xpthread_attr_setguardsize object.
        * support/xthread.h: Add xpthread_attr_setguardsize prototype.
        * benchtests/Makefile (bench-pthread): Add thread_create.
        * nptl/allocatestack.c (allocate_stack): Call mmap with PROT_NONE and
        then mprotect the required area.

commit 5c3e322d3be3803636e38bcaf083fb59b3a34f0c
Author: H.J. Lu <address@hidden>
Date:   Wed Jun 14 12:10:57 2017 -0700

    x86-64: Implement memmove family IFUNC selectors in C
    
    Implement memmove family IFUNC selectors in C.
    
    All internal calls within libc.so can use IFUNC on x86-64 since unlike
    x86, x86-64 supports PC-relative addressing to access the GOT entry so
    that it can call via PLT without using an extra register.  For libc.a,
    we can't use IFUNC for functions which are called before IFUNC has been
    initialized.  Use IFUNC internally reduces the icache footprint since
    libc.so and other codes in the process use the same implementations.
    This patch uses IFUNC for memmove family functions within libc.
    
        * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
        memmove-sse2-unaligned-erms, memcpy_chk-nonshared,
        mempcpy_chk-nonshared and memmove_chk-nonshared.
        * sysdeps/x86_64/multiarch/ifunc-impl-list.c
        (__libc_ifunc_impl_list): Add tests for __memmove_chk_erms,
        __memcpy_chk_erms and __mempcpy_chk_erms.  Update comments.
        * sysdeps/x86_64/multiarch/ifunc-memmove.h: New file.
        * sysdeps/x86_64/multiarch/memcpy.c: Likewise.
        * sysdeps/x86_64/multiarch/memcpy_chk-nonshared.S: Likewise.
        * sysdeps/x86_64/multiarch/memcpy_chk.c: Likewise.
        * sysdeps/x86_64/multiarch/memmove-sse2-unaligned-erms.S: Likewise.
        * sysdeps/x86_64/multiarch/memmove.c: Likewise.
        * sysdeps/x86_64/multiarch/memmove_chk-nonshared.S: Likewise.
        * sysdeps/x86_64/multiarch/memmove_chk.c: Likewise.
        * sysdeps/x86_64/multiarch/mempcpy.c: Likewise.
        * sysdeps/x86_64/multiarch/mempcpy_chk-nonshared.S: Likewise.
        * sysdeps/x86_64/multiarch/mempcpy_chk.c: Likewise.
        * sysdeps/x86_64/multiarch/memcpy.S: Removed.
        * sysdeps/x86_64/multiarch/memcpy_chk.S: Likewise.
        * sysdeps/x86_64/multiarch/memmove.S: Likewise.
        * sysdeps/x86_64/multiarch/memmove_chk.S: Likewise.
        * sysdeps/x86_64/multiarch/mempcpy.S: Likewise.
        * sysdeps/x86_64/multiarch/mempcpy_chk.S: Likewise.
        * sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S
        (__mempcpy_chk_erms): New function.
        (__memmove_chk_erms): Likewise.
        (__memcpy_chk_erms): New alias.

commit 69052a3a95da37169a08f9e59b2cc1808312753c
Author: Florian Weimer <address@hidden>
Date:   Wed Jun 14 08:11:22 2017 +0200

    i686: Add missing IS_IN (libc) guards to vectorized strcspn
    
    Since commit d957c4d3fa48d685ff2726c605c988127ef99395 (i386: Compile
    rtld-*.os with -mno-sse -mno-mmx -mfpmath=387), vector intrinsics can
    no longer be used in ld.so, even if the compiled code never makes it
    into the final ld.so link.  This commit adds the missing IS_IN (libc)
    guard to the SSE 4.2 strcspn implementation, so that it can be used from
    ld.so in the future.

commit fd860eaaa8757b221d9169e460c9ec41ea51f317
Author: Zack Weinberg <address@hidden>
Date:   Tue Mar 21 16:30:53 2017 -0400

    Remove __need macros from errno.h (__need_Emath, __need_error_t).
    
    This is fairly complicated, not because the users of __need_Emath and
    __need_error_t have complicated requirements, but because the core
    changes had a lot of fallout.
    
    __need_error_t exists for gnulib compatibility in argz.h and argp.h.
    error_t itself is a Hurdism, an enum containing all the E-constants,
    so you can do 'p (error_t) errno' in gdb and get a symbolic value.
    argz.h and argp.h use it for function return values, and they want to
    fall back to 'int' when that's not available.  There is no reason why
    these nonstandard headers cannot just go ahead and include all of
    errno.h; so we do that.
    
    __need_Emath is defined only by .S files; what they _really_ need is
    for errno.h to avoid declaring anything other than the E-constants
    (e.g. 'extern int __errno_location(void);' is a syntax error in
    assembly language). This is replaced with a check for __ASSEMBLER__ in
    errno.h, plus a carefully documented requirement for bits/errno.h not
    to define anything other than macros.  That in turn has the
    consequence that bits/errno.h must not define errno - fortunately, all
    live ports use the same definition of errno, so I've moved it to
    errno.h.  The Hurd bits/errno.h must also take care not to define
    error_t when __ASSEMBLER__ is defined, which involves repeating all of
    the definitions twice, but it's a generated file so that's okay.
    
        * stdlib/errno.h: Remove __need_Emath and __need_error_t logic.
        Reorganize file.  Declare errno here.  When __ASSEMBLER__ is
        defined, don't declare anything other than the E-constants.
    
        * include/errno.h: Change conditional for exposing internal
        declarations to (not _ISOMAC and not __ASSEMBLER__).
        * bits/errno.h: Remove logic for __need_Emath.  Document
        requirements for a port-specific bits/errno.h.
    
        * sysdeps/unix/sysv/linux/bits/errno.h
        * sysdeps/unix/sysv/linux/alpha/bits/errno.h
        * sysdeps/unix/sysv/linux/hppa/bits/errno.h
        * sysdeps/unix/sysv/linux/mips/bits/errno.h
        * sysdeps/unix/sysv/linux/sparc/bits/errno.h:
        Add multiple-include guard and check against improper inclusion.
        Remove __need_Emath logic.  Don't declare errno here.  Ensure all
        constants are defined as simple integer literals.  Consistent
        formatting.
        * sysdeps/mach/hurd/errnos.awk: Likewise.  Only define error_t and
        enum __error_t_codes if __ASSEMBLER__ is not defined.
        * sysdeps/mach/hurd/bits/errno.h: Regenerate.
    
        * argp/argp.h, string/argz.h: Don't define __need_error_t before
        including errno.h.
        * sysdeps/i386/i686/fpu/multiarch/s_cosf-sse2.S
        * sysdeps/i386/i686/fpu/multiarch/s_sincosf-sse2.S
        * sysdeps/i386/i686/fpu/multiarch/s_sinf-sse2.S
        * sysdeps/x86_64/fpu/s_cosf.S
        * sysdeps/x86_64/fpu/s_sincosf.S
        * sysdeps/x86_64/fpu/s_sinf.S:
        Just include errno.h; don't define __need_Emath or include
        bits/errno.h directly.

commit 37f802f86400684c8d13403958b2c598721d6360
Author: Zack Weinberg <address@hidden>
Date:   Wed Mar 22 10:55:38 2017 -0400

    Remove __need_IOV_MAX and __need_FOPEN_MAX.
    
    __need_FOPEN_MAX wasn't being used anywhere.  __need_IOV_MAX was more
    complicated; the basic deal is that sys/uio.h wants to define a
    constant named UIO_MAXIOV and bits/xopen_lim.h wants to define a
    constant named IOV_MAX, with the same meaning.  For no apparent reason
    this was being handled via bits/stdio_lim.h -- stdio.h is NOT supposed
    to define IOV_MAX -- and some mess in Makerules.  Also, bits/uio.h on
    Linux was being used as a dumping ground for extension functions.
    
    So now we have bits/uio_lim.h, which defines __IOV_MAX.
    bits/xopen_lim.h and sys/uio.h use that to define their respective
    constants.  We also now have bits/uio-ext.h, which is the official
    Proper Home for extensions to sys/uio.h.  bits/uio.h is removed, and
    stdio_lim.h doesn't define IOV_MAX at all.
    
        * bits/uio_lim.h, sysdeps/unix/sysv/linux/bits/uio_lim.h
        * bits/uio-ext.h, sysdeps/unix/sysv/linux/bits/uio-ext.h: New file.
        * bits/uio.h, sysdeps/unix/sysv/linux/bits/uio.h: Delete file.
    
        * include/bits/xopen_lim.h: Use bits/uio_lim.h to get the value
        for IOV_MAX.
        * misc/Makefile: Install bits/uio-ext.h and bits/uio_lim.h.
        Don't install bits/uio.h.
        * misc/sys/uio.h: Don't include bits/uio.h.  Do include
        bits/types/struct_iovec.h and bits/uio_lim.h.  Set UIO_MAXIOV
        based on __IOV_MAX. Under __USE_GNU, also include bits/uio-ext.h.
    
        * stdio-common/stdio_lim.h.in: Remove logic for __need_FOPEN_MAX
        and __need_IOV_MAX.  Don't define IOV_MAX at all.
        * Makerules (stdio_lim.h): Remove logic for setting IOV_MAX.
    
        * sysdeps/unix/sysv/linux/bits/fcntl-linux.h:
        Include bits/types/struct_iovec.h, not bits/uio.h.
        Use __ssize_t, not ssize_t, in function prototypes.
        Don't use hard TAB for double space after period in comments.

commit 0572433b5beb636de1a49ec6b4fdab830c38cdc5
Author: Alan Modra <address@hidden>
Date:   Wed Jun 14 10:47:25 2017 +0930

    PowerPC64 ELFv2 PPC64_OPT_LOCALENTRY
    
    ELFv2 functions with localentry:0 are those with a single entry point,
    ie. global entry == local entry, that have no requirement on r2 or
    r12 and guarantee r2 is unchanged on return.  Such an external
    function can be called via the PLT without saving r2 or restoring it
    on return, avoiding a common load-hit-store for small functions.
    
    This patch implements the ld.so changes necessary for this
    optimization.  ld.so needs to check that an optimized plt call
    sequence is in fact calling a function implemented with localentry:0,
    end emit a fatal error otherwise.
    
    The elf/testobj6.c change is to stop "error while loading shared
    libraries: expected localentry:0 `preload'" when running
    elf/preloadtest, which we'd get otherwise.
    
        * elf/elf.h (PPC64_OPT_LOCALENTRY): Define.
        * sysdeps/alpha/dl-machine.h (elf_machine_fixup_plt): Add
        refsym and sym parameters.  Adjust callers.
        * sysdeps/aarch64/dl-machine.h (elf_machine_fixup_plt): Likewise.
        * sysdeps/arm/dl-machine.h (elf_machine_fixup_plt): Likewise.
        * sysdeps/generic/dl-machine.h (elf_machine_fixup_plt): Likewise.
        * sysdeps/hppa/dl-machine.h (elf_machine_fixup_plt): Likewise.
        * sysdeps/i386/dl-machine.h (elf_machine_fixup_plt): Likewise.
        * sysdeps/ia64/dl-machine.h (elf_machine_fixup_plt): Likewise.
        * sysdeps/m68k/dl-machine.h (elf_machine_fixup_plt): Likewise.
        * sysdeps/microblaze/dl-machine.h (elf_machine_fixup_plt): Likewise.
        * sysdeps/mips/dl-machine.h (elf_machine_fixup_plt): Likewise.
        * sysdeps/nios2/dl-machine.h (elf_machine_fixup_plt): Likewise.
        * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_fixup_plt):
        Likewise.
        * sysdeps/s390/s390-32/dl-machine.h (elf_machine_fixup_plt): Likewise.
        * sysdeps/s390/s390-64/dl-machine.h (elf_machine_fixup_plt): Likewise.
        * sysdeps/sh/dl-machine.h (elf_machine_fixup_plt): Likewise.
        * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_fixup_plt): Likewise.
        * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_fixup_plt): Likewise.
        * sysdeps/tile/dl-machine.h (elf_machine_fixup_plt): Likewise.
        * sysdeps/x86_64/dl-machine.h (elf_machine_fixup_plt): Likewise.
        * sysdeps/powerpc/powerpc64/dl-machine.c (_dl_error_localentry): New.
        (_dl_reloc_overflow): Increase buffser size.  Formatting.
        * sysdeps/powerpc/powerpc64/dl-machine.h (ppc64_local_entry_offset):
        Delete reloc param, add refsym and sym.  Check optimized plt
        call stubs for localentry:0 functions.  Adjust callers.
        (elf_machine_fixup_plt, elf_machine_plt_conflict): Add refsym
        and sym parameters.  Adjust callers.
        (_dl_reloc_overflow): Move attribute.
        (_dl_error_localentry): Declare.
        * elf/dl-runtime.c (_dl_fixup): Save original sym.  Pass
        refsym and sym to elf_machine_fixup_plt.
        * elf/testobj6.c (preload): Call printf.

commit d5b411854f0a3135c931921dfa8a33af395acfd3
Author: Alan Modra <address@hidden>
Date:   Wed Jun 14 10:45:50 2017 +0930

    PowerPC64 ENTRY_TOCLESS
    
    A number of functions in the sysdeps/powerpc/powerpc64/ tree don't use
    or change r2, yet declare a global entry that sets up r2.  This patch
    fixes that problem, and consolidates the ENTRY and EALIGN macros.
    
        * sysdeps/powerpc/powerpc64/sysdep.h: Formatting.
        (NOPS, ENTRY_3): New macros.
        (ENTRY): Rewrite.
        (ENTRY_TOCLESS): Define.
        (EALIGN, EALIGN_W_0, EALIGN_W_1, EALIGN_W_2, EALIGN_W_4, EALIGN_W_5,
        EALIGN_W_6, EALIGN_W_7, EALIGN_W_8): Delete.
        * sysdeps/powerpc/powerpc64/a2/memcpy.S: Replace EALIGN with ENTRY.
        * sysdeps/powerpc/powerpc64/dl-trampoline.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/s_ceil.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/s_ceilf.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/s_floor.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/s_floorf.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/s_nearbyint.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/s_nearbyintf.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/s_rint.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/s_rintf.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/s_round.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/s_roundf.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/s_trunc.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/s_truncf.S: Likewise.
        * sysdeps/powerpc/powerpc64/memset.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/fpu/s_finite.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/fpu/s_isinf.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/fpu/s_isnan.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/strstr.S: Likewise.
        * sysdeps/powerpc/powerpc64/power8/fpu/e_expf.S: Likewise.
        * sysdeps/powerpc/powerpc64/power8/fpu/s_cosf.S: Likewise.
        * sysdeps/powerpc/powerpc64/power8/fpu/s_sinf.S: Likewise.
        * sysdeps/powerpc/powerpc64/power8/strcasestr.S: Likewise.
        * sysdeps/powerpc/powerpc64/addmul_1.S: Use ENTRY_TOCLESS.
        * sysdeps/powerpc/powerpc64/cell/memcpy.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/s_copysignl.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/s_fabsl.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/s_isnan.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/s_llrint.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/s_llrintf.S: Likewise.
        * sysdeps/powerpc/powerpc64/lshift.S: Likewise.
        * sysdeps/powerpc/powerpc64/memcpy.S: Likewise.
        * sysdeps/powerpc/powerpc64/mul_1.S: Likewise.
        * sysdeps/powerpc/powerpc64/power4/memcmp.S: Likewise.
        * sysdeps/powerpc/powerpc64/power4/memcpy.S: Likewise.
        * sysdeps/powerpc/powerpc64/power4/memset.S: Likewise.
        * sysdeps/powerpc/powerpc64/power4/strncmp.S: Likewise.
        * sysdeps/powerpc/powerpc64/power5+/fpu/s_ceil.S: Likewise.
        * sysdeps/powerpc/powerpc64/power5+/fpu/s_ceilf.S: Likewise.
        * sysdeps/powerpc/powerpc64/power5+/fpu/s_floor.S: Likewise.
        * sysdeps/powerpc/powerpc64/power5+/fpu/s_floorf.S: Likewise.
        * sysdeps/powerpc/powerpc64/power5+/fpu/s_llround.S: Likewise.
        * sysdeps/powerpc/powerpc64/power5+/fpu/s_round.S: Likewise.
        * sysdeps/powerpc/powerpc64/power5+/fpu/s_roundf.S: Likewise.
        * sysdeps/powerpc/powerpc64/power5+/fpu/s_trunc.S: Likewise.
        * sysdeps/powerpc/powerpc64/power5+/fpu/s_truncf.S: Likewise.
        * sysdeps/powerpc/powerpc64/power5/fpu/s_isnan.S: Likewise.
        * sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S: Likewise.
        * sysdeps/powerpc/powerpc64/power6/fpu/s_isnan.S: Likewise.
        * sysdeps/powerpc/powerpc64/power6/memcpy.S: Likewise.
        * sysdeps/powerpc/powerpc64/power6/memset.S: Likewise.
        * sysdeps/powerpc/powerpc64/power6x/fpu/s_isnan.S: Likewise.
        * sysdeps/powerpc/powerpc64/power6x/fpu/s_llrint.S: Likewise.
        * sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/add_n.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/memchr.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/memcmp.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/memcpy.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/memmove.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/mempcpy.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/memrchr.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/memset.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/rawmemchr.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/strcasecmp.S (strcasecmp_l):
        Likewise.
        * sysdeps/powerpc/powerpc64/power7/strchr.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/strchrnul.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/strcmp.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/strlen.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/strncmp.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/strncpy.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/strnlen.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/strrchr.S: Likewise.
        * sysdeps/powerpc/powerpc64/power8/fpu/s_finite.S: Likewise.
        * sysdeps/powerpc/powerpc64/power8/fpu/s_isinf.S: Likewise.
        * sysdeps/powerpc/powerpc64/power8/fpu/s_isnan.S: Likewise.
        * sysdeps/powerpc/powerpc64/power8/fpu/s_llrint.S: Likewise.
        * sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S: Likewise.
        * sysdeps/powerpc/powerpc64/power8/memcmp.S: Likewise.
        * sysdeps/powerpc/powerpc64/power8/memset.S: Likewise.
        * sysdeps/powerpc/powerpc64/power8/strchr.S: Likewise.
        * sysdeps/powerpc/powerpc64/power8/strcmp.S: Likewise.
        * sysdeps/powerpc/powerpc64/power8/strcpy.S: Likewise.
        * sysdeps/powerpc/powerpc64/power8/strlen.S: Likewise.
        * sysdeps/powerpc/powerpc64/power8/strncmp.S: Likewise.
        * sysdeps/powerpc/powerpc64/power8/strncpy.S: Likewise.
        * sysdeps/powerpc/powerpc64/power8/strnlen.S: Likewise.
        * sysdeps/powerpc/powerpc64/power8/strrchr.S: Likewise.
        * sysdeps/powerpc/powerpc64/power8/strspn.S: Likewise.
        * sysdeps/powerpc/powerpc64/power9/strcmp.S: Likewise.
        * sysdeps/powerpc/powerpc64/power9/strncmp.S: Likewise.
        * sysdeps/powerpc/powerpc64/strchr.S: Likewise.
        * sysdeps/powerpc/powerpc64/strcmp.S: Likewise.
        * sysdeps/powerpc/powerpc64/strlen.S: Likewise.
        * sysdeps/powerpc/powerpc64/strncmp.S: Likewise.
        * sysdeps/powerpc/powerpc64/ppc-mcount.S: Store LR earlier.  Don't
        add nop when SHARED.
        * sysdeps/powerpc/powerpc64/start.S: Fix comment.
        * sysdeps/powerpc/powerpc64/multiarch/strrchr-power8.S (ENTRY): Don't
        define.
        (ENTRY_TOCLESS): Define.
        * sysdeps/powerpc/powerpc32/sysdep.h (ENTRY_TOCLESS): Define.
        * sysdeps/powerpc/fpu/s_fma.S: Use ENTRY_TOCLESS.
        * sysdeps/powerpc/fpu/s_fmaf.S: Likewise.

commit de7ee73d6f5000478173ac065ded4077fd6ddee2
Author: Alan Modra <address@hidden>
Date:   Wed Jun 14 10:44:59 2017 +0930

    PowerPC64 strncpy, stpncpy and strstr fixes
    
    Makes __stpncpy_power8 call __memset_power8 directly rather than via an
    IFUNC.  Fixes a missing _mcount, and removes some redundant NOPS.  The
    *_is_local defines are also used in a followup patch.
    
        * sysdeps/powerpc/powerpc64/multiarch/strncpy-power7.S: Define
        MEMSET_is_local.
        * sysdeps/powerpc/powerpc64/multiarch/strncpy-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/stpncpy-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/stpncpy-power8.S: Likewise.
        Define MEMSET.
        * sysdeps/powerpc/powerpc64/multiarch/strstr-power7.S: Define
        STRLEN_is_local, STRNLEN_is_local, and STRCHR_is_local.
        * sysdeps/powerpc/powerpc64/power7/strstr.S: Likewise.  Don't add
        nop after local calls.
        * sysdeps/powerpc/powerpc64/power7/strncpy.S: Define MEMSET_is_local.
        Don't add nop after local call.
        * sysdeps/powerpc/powerpc64/power8/strncpy.S: Likewise.  Add missing
        CALL_MCOUNT.

commit 4b6e7667db6983fa953c1cac7671f68edacca0b4
Author: Alan Modra <address@hidden>
Date:   Wed Jun 14 10:44:03 2017 +0930

    PowerPC64 sysdep.h tidy
    
    .align on some targets takes a byte alignment, on others like powerpc,
    log2 of the byte alignment.  It's a good idea to avoid .align,
    particularly since x86 and powerpc are different.  This patch fixes
    the occurrences of .align in powerpc64/sysdep.h, renames DOT_LABEL
    since the macro doesn't have anything to do with adding dots, removes
    extraneous semicolons, and fixes some formatting.
    
        * sysdeps/powerpc/powerpc64/sysdep.h: Formatting.
        (FUNC_LABEL): Rename from DOT_LABEL.
        (ENTRY_1): Use FUNC_LABEL and remove leading space from label.
        Use .p2align rather than .align.
        (TRACEBACK, TRACEBACK_MASK): Use .p2align rather than .align.
        (ABORT_TRANSACTION): Likewise.
        (ENTRY_1, ENTRY_2, END_2, LOCALENTRY): Remove unnecessary semicolons,
        particularly at end.  Add semicolon at invocation as necessary.
        (TRACEBACK, TRACEBACK_MASK, PSEUDO, PSEUDO_NOERRNO): Likewise.
        (PSEUDO_ERRVAL, PPC64_LOAD_FUNCPTR, OPD_ENT): Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strrchr-power8.S (ENTRY,
        END): Adjust to suit.

commit fb499eb04e8aa897e2b97694be92a1506885c1df
Author: Alan Modra <address@hidden>
Date:   Wed Jun 14 10:43:33 2017 +0930

    PowerPC64 FRAME_PARM_SAVE
    
    I think FRAME_PARM[1-9]_SAVE confuse the code, particularly
    FRAME_PARM9_SAVE.  There are only 8 parameter save slots!
    
        * sysdeps/powerpc/powerpc64/sysdep.h: (FRAME_BACKCHAIN,
        FRAME_CR_SAVE, FRAME_LR_SAVE): Move out of conditional.
        (FRAME_PARM1_SAVE, FRAME_PARM2_SAVE, FRAME_PARM3_SAVE,
        FRAME_PARM4_SAVE, FRAME_PARM5_SAVE, FRAME_PARM6_SAVE,
        FRAME_PARM7_SAVE, FRAME_PARM8_SAVE, FRAME_PARM9_SAVE): Delete.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S: Replace
        uses of FRAME_PARM[1-9]_SAVE with FRAME_PARM_SAVE plus offset.

commit dd8854361b7e44a40284d51f95819aa587af20d6
Author: Alan Modra <address@hidden>
Date:   Wed Jun 14 10:42:42 2017 +0930

    PowerPC64, fix calls to _mcount
    
    The macros used in assembly were broken on powerpc64 ELFv1.
    
        * sysdeps/powerpc/powerpc64/sysdep.h: (call_mcount_parm_offset): Delete.
        (SAVE_ARG, REST_ARG, CFI_SAVE_ARG): Correct.

commit b309f058cf7639951bebb86270ffbc116ea5f720
Author: Gordana Cmiljanovic <address@hidden>
Date:   Tue Jun 13 21:34:45 2017 +0000

    mips: Fix store/load gp registers to/from ucontext_t
    
    General purpose registers in mcontext_t structure
    are 8 bytes long for both MIPS32/MIPS64.
    
    get/set/make/swap context implementations for MIPS O32
    incorrectly assume that general purpose registers
    in this structure are 4 bytes long.
    
    This patch is fixing that.
    
    Tested for MIPS O32 LE and BE.
    Compared objdump of modified functions for mips n32 and mips n64.
    
        [BZ #21548]
        * sysdeps/unix/sysv/linux/mips/getcontext.S: Define MCONTEXT_SZGREG as
        8 and use it when copying general purpose registers.
        * sysdeps/unix/sysv/linux/mips/makecontext.S: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/Makefile: Include new test for
        mips o32.
        * sysdeps/unix/sysv/linux/mips/mips32/bug-getcontext-mips-gp.c: Added
        new test for mips o32.
        * sysdeps/unix/sysv/linux/mips/setcontext.S: Define MCONTEXT_SZGREG as
        8 and use it when copying general purpose registers.
        * sysdeps/unix/sysv/linux/mips/swapcontext.S: Likewise.

commit c2528fef3b05bcffb1ac27c6c09cc3ff24b7f03f
Author: Florian Weimer <address@hidden>
Date:   Tue Jun 13 22:09:59 2017 +0200

    configure: Suppress expected compiler error message

commit f8bf87face3304f216bcd838081fa33bb4976ac6
Author: Florian Weimer <address@hidden>
Date:   Tue Jun 13 17:03:56 2017 +0200

    dynarray: Implement begin/end functions in the spirit of C++

commit a65ea28d1833d3502c5070472e43bda04410e6b5
Author: H.J. Lu <address@hidden>
Date:   Tue Jun 13 09:28:14 2017 -0700

    Make copy of <bits/std_abs.h> from GCC 7 [BZ #21573]
    
    <bits/std_abs.h> from GCC 7 will include /usr/include/stdlib.h from
    "#include_next" (instead of stdlib/stdlib.h in the glibc source
    directory), and this turns up as a make dependency.  Also make a copy
    of <bits/std_abs.h> to prevent it from including /usr/include/stdlib.h.
    
        [BZ #21573]
        * Makerules [$(c++-bits-std_abs-h) != ""] (before-compile): Add
        $(common-objpfx)bits/std_abs.h.
        [$(c++-bits-std_abs-h) != ""] ($(common-objpfx)bits/std_abs.h):
        New target.
        * config.make.in (c++-bits-std_abs-h): New.
        * configure.ac (find_cxx_header): Use "\,$1," with sed.
        (CXX_BITS_STD_ABS_H): New.
        (AC_SUBST(CXX_BITS_STD_ABS_H)): Likewise.
        * configure: Regenerated.

commit 70ec56e9f21ac798ab13019e7000c5d0abf6911d
Author: Rafal Luzynski <address@hidden>
Date:   Tue Jun 13 07:20:16 2017 -0400

    localedata: ce_RU: update weekdays from CLDR [BZ #21207]
    
        [BZ #21207]
            * locales/ce_RU (day): Updated (imported) from CLDR.  Uppercase 
letters
            left unchanged.
            * locales/ce_RU (abday): Minor updates to match (day): Latin 
uppercase
            "I" replaced with Cyrillic "Ӏ" ("Palochka", Unicode: U04C0).  
Trailing
            spaces removed.

commit dfe82f3faa94958bc685d77e842102f5164ae5c3
Author: Rafal Luzynski <address@hidden>
Date:   Tue Jun 13 07:16:00 2017 -0400

    localedata: Remove trailing spaces [BZ #20275]
    
    Many locales have strings that end with an unnecessary trailing space.
    Remove them.  Also corrects some notational errors in passing.
    
            * localedata/locales/mag_IN (abday, day): Consistently use
        uppercase hexadecimal in <Uxxxx> notation.
            * localedata/locales/so_DJ (mon): Use "<U0020>" instead of " ".
            * localedata/locales/so_ET (mon): Likewise.
            * localedata/locales/so_KE (mon): Likewise.
            * localedata/locales/so_SO (mon): Likewise.
    
        [BZ #20275]
        * localedata/locales/anp_IN (abday, day): Remove trailing spaces.
            * localedata/locales/bho_IN (abday, day): Likewise.
            * localedata/locales/doi_IN (abday, day): Likewise.
            * localedata/locales/hi_IN (day, abday): Likewise.
            * localedata/locales/hne_IN (abday, day): Likewise.
            * localedata/locales/mag_IN (abday, day): Likewise.
            * localedata/locales/ne_NP (abday, day): Likewise.
            * localedata/locales/pa_IN (abday, day): Likewise.
            * localedata/locales/raj_IN (abday, day): Likewise.
            * localedata/locales/the_NP (abday, day): Likewise.
            * localedata/locales/sq_AL (abday, day): Likewise.
            * localedata/locales/ln_CD (name_ms): Likewise.
            * localedata/locales/quz_PE (lang_name): Likewise.
            * localedata/locales/ta_IN (name_mr, name_mrs, name_miss): Likewise.
            * localedata/locales/te_IN (name_mr, name_mrs, name_miss): Likewise.
    
            * localedata/locales/ht_HT (abday, day): Remove trailing space
            after "len" and "lendi".
    
            * localedata/locales/mt_MT (mon): Remove trailing space after
            "Diċembru".

commit 19cf2879fed810b258ce4bba6efafc57bf53027a
Author: Zack Weinberg <address@hidden>
Date:   Tue Jun 13 06:59:57 2017 -0400

    Correct indentation in posix/bits/cpu-set.h.
    
        * posix/bits/cpu-set.h: Correct indentation of preprocessor
        directives.

commit 46ee3da55ee36af9c930556ad4fca3f69434a067
Author: Zack Weinberg <address@hidden>
Date:   Sat May 20 18:23:01 2017 -0400

    Remove __need_schedparam and __cpu_set_t_defined.
    
    bits/sched.h has logic to expose only an impl-namespace variant of
    struct sched_param (i.e. struct __sched_param), but nothing uses it,
    and the only header that includes bits/sched.h is sched.h.  The
    __need_schedparam logic can therefore be removed.
    
    bits/sched.h also has a great deal of code relating to cpu_set_t
    objects that was *almost* the same between the two versions of
    bits/sched.h in the tree; a little spelunking indicated that this is
    because some bug fixes got applied to the Linux-specific bits/sched.h
    but not the generic one.  Introduce a new header, bits/cpu-set.h,
    containing the version of that code with the bugfixes, have sched.h
    include it directly, and delete all of the code from both versions of
    bits/sched.h.
    
    Also remove the unnecessary name mangling in the definition of struct
    sched_param -- POSIX specifies a field 'sched_priority', so there is
    no reason to define it as '__sched_priority' and then paper over that
    with a macro.  (Just in case someone was using the internal name,
    'sched_priority' remains a macro defined to expand to itself, and
    '__sched_priority' now expands to 'sched_priority'.)
    
    Finally, as long as I'm touching these files anyway, merge new
    constants from linux/sched.h into the Linux bits/sched.h.
    
        * bits/sched.h: Remove __need_schedparam logic and replace with a
        normal multiple-include guard.  Change field name in struct
        sched_param from __sched_priority to sched_priority.  Delete
        everything under #ifndef __cpu_set_t_defined.
        * sysdeps/unix/sysv/linux/bits/sched.h: Likewise.  Also sync with
        kernel sched.h, adding SCHED_ISO and SCHED_DEADLINE constants.
    
        * posix/sched.h: Include bits/cpu-set.h as well as bits/sched.h.
        For compatibility, #define sched_priority to itself, and #define
        __sched_priority as sched_priority.
        * posix/bits/cpu-set.h: New file containing, verbatim, the code
        that was under #ifndef __cpu_set_t_defined in
        sysdeps/unix/sysv/linux/bits/sched.h.
        * include/bits/cpu-set.h: New wrapper.
        * posix/Makefile: Install bits/cpu-set.h.

commit 4bad368d9f13c2d8b8d2b2cea89a61916223d882
Author: Wilco Dijkstra <address@hidden>
Date:   Mon Jun 12 19:48:31 2017 +0100

    Fix build issue on x86.
    
    Add an undef of __stpcpy in string-inlines.c to avoid a redefinition
    error on x86.
    
        * string/string-inlines.c: Add undef of __stpcpy to fix build issue.

commit 3c023dbf5780f5afe8a5ea8e17667719307d955f
Author: Paul E. Murphy <address@hidden>
Date:   Fri Jul 15 14:29:51 2016 -0500

    float128: Add test-{float128,ifloat128,float128-finite}
    
    This adds test support for float128, and lays some groundwork for future
    _FloatN types.
    
        * math/gen-libm-test.pl (@all_floats): Add ifloat128 and float128.
        (%all_floats_pfx): Add macro prefix for float128 (FLT128).
        * math/libm-test-exp10.inc (pow10_test): Do not test for _FloatN,
        * math/libm-test-isfinite.inc (finite_test): Likewise.
        * math/libm-test-lgamma.inc (gamma_test): Likewise.
        * math/libm-test-nexttoward.inc (nexttoward_test): Likewise.
        (nexttoward_test_data}: Likewise.
        * math/libm-test-remainder.inc (drem_test): Likewise.
        * math/libm-test-scalb.inc (scalb_test): Likewise.
        (scalb_test_data): Likewise.
        * math/libm-test-significand.inc (significand_test): Likewise.
        (significand_test_data): Likewise.
        * math/libm-test-support.c (check_complex): Replace __complex__
        FLOAT with CFLOAT to get the support for old compiler.
        * math/libm-test-support.h (check_complex): Likewise.
        * math/test-double.h (CFLOAT, TEST_FLOATN): New macros.
        * math/test-float.h (CFLOAT, TEST_FLOATN): Likewise.
        * math/test-ldouble.h (CFLOAT, TEST_FLOATN): Likewise.
        * math/test-float128.h: New file.
        * math/test-math-floatn.h: New file.

commit 8fd31014315921b4107de171d14b091dbe443226
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Thu Jun 1 21:48:15 2017 -0300

    Allow macros prefixed with FLT128 in include/float.h
    
    TS 18661-3 specifies that macros prefixed with FLTN_ can be defined in
    float.h, only if __STDC_WANT_IEC_60559_TYPES_EXT__ is defined as a macro
    before the inclusion of float.h.  Since GCC 7.0, these macros are provided
    under this condition, however, for older versions of GCC, these macros are
    not provided at all.  This patch allows the definitions of such macros in
    include/float.h for older compilers, if the condition above is met, and
    even if _ISOMAC is defined.
    
        * include/float.h: Allow the definition of macros prefixed with
        FLT128 even if _ISOMAC is defined, but provided that
        __STDC_WANT_IEC_60559_TYPES_EXT__ is defined as a macro.

commit 7d641c411d475fc609edce8df12c4b2918b29fdb
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Mon Nov 14 14:36:18 2016 -0200

    float128: Add strfromf128, strtof128, and wcstof128 to the manual
    
        * manual/math.texi (Mathematics): Add description for _FloatN and
        _FloatNx types and mentions that they are not support in glibc for
        any architecture, so far.
        * manual/arith.texi (wcstof, wcstold): Replace the mention to
        stdlib.h with wchar.h.
        (Parsing of Floats): Add descriptions for strtofN and wcstofN.
        (Printing of Floats): Add description for strfromfN.

commit 45f39d458827e07ab3075bed75f2670581a89f33
Author: Paul E. Murphy <address@hidden>
Date:   Mon Jul 25 13:10:00 2016 -0500

    float128: Add strtof128, wcstof128, and related functions.
    
    The implementations are contained with sysdeps/ieee754/float128 as
    they are only built when _Float128 is enabled within libc/m.
    
        * include/gmp.h (__mpn_construct_float128): New declaration.
        * include/stdlib.h: Include bits/floatn.h for _Float128 tests.
        (__strtof128_l): New declaration.
        (__strtof128_nan): Likewise.
        (__wcstof128_nan): Likewise.
        (__strtof128_internal): Likewise.
        (____strtof128_l_internal): Likewise.
        * include/wchar.h: Include bits/floatn.h for _Float128 tests.
        (__wcstof128_l): New declaration.
        (__wcstof128_internal): Likewise.
    
        * stdlib/Makefile (bug-strtod2): Link libm too.
    
        * stdlib/stdlib.h (strtof128): New declaration.
        (strtof128_l): Likewise.
    
        * stdlib/tst-strtod-nan-locale-main.c: Updated to use
        tst-strtod.h macros to ensure float128 gets tested too.
    
        * stdlib/tst-strtod-round-skeleton.c (CHOOSE_f128): New macro.
    
        * stdlib/tst-strtod.h: Include bits/floatn.h for _Float128
        tests.
        (IF_FLOAT128): New macro.
        (GEN_TEST_STRTOD): Update to optionally include _Float128 in
        the tests.
        (STRTOD_TEST_FOREACH): Likewise.
    
        * sysdeps/ieee754/float128/Makefile: Insert new strtof128 and
        wcstof128 functions into libc.
    
        * sysdeps/ieee754/float128/Versions: Add exports for the above
        new functions.
    
        * sysdeps/ieee754/float128/mpn2float128.c: New file.
        * sysdeps/ieee754/float128/strtod_nan_float128.h: New file.
        * sysdeps/ieee754/float128/strtof128.c: New file.
        * sysdeps/ieee754/float128/strtof128_l.c: New file.
        * sysdeps/ieee754/float128/strtof128_nan.c: New file.
        * sysdeps/ieee754/float128/wcstof128.c: New file.
        * sysdeps/ieee754/float128/wcstof128_l.c: New file.
        * sysdeps/ieee754/float128/wcstof128_nan.c: New fike.
        * wcsmbs/Makefile: (CFLAGS-wcstof128.c): Append strtox-CFLAGS.
        (CFLAGS-wcstof128_l): Likewise.
    
        * wcsmbs/wchar.h: Include bits/floatn.h for _Float128 tests.
        (wcstof128): New declaration.
        (wcstof128_l): Likewise.

commit 9527ae8291dbc6097f4f93c4ccce69b577f8a261
Author: Joseph Myers <address@hidden>
Date:   Mon Jun 12 17:39:47 2017 +0000

    Fix XPG4 bsd_signal namespace (bug 21552).
    
    bsd_signal was added in XPG4.2, so should be declared for
    __USE_XOPEN_EXTENDED, instead of the present __USE_XOPEN condition.
    This patch fixes the condition accordingly.
    
    Tested for x86_64.
    
        [BZ #21552]
        * signal/signal.h (bsd_signal): Declare if [__USE_XOPEN_EXTENDED],
        not [__USE_XOPEN].
        * conform/Makefile (test-xfail-XPG4/signal.h/conform): Remove.

commit a0f8b1152040d2652cdeb741ac586c95221dc5f0
Author: Joseph Myers <address@hidden>
Date:   Mon Jun 12 17:38:20 2017 +0000

    Fix sigwait namespace (bug 21550).
    
    sigwait was added to POSIX in 1995; it is not in older POSIX versions
    or XPG4 / XPG4.2.  Thus it should be declared only if
    __USE_POSIX199506; signal.h wrongly declares it for __USE_POSIX.
    (sigwaitinfo is correctly conditioned on __USE_POSIX199309.)  This
    patch fixes the condition on the declaration of sigwait.
    
    Tested for x86_64.  Because of other namespace problems this does not
    allow any conform/ XFAILs to be removed.
    
        [BZ #21550]
        * signal/signal.h (sigwait): Only declare if [__USE_POSIX199506].

commit 5a103908c025049106663c831471473205782985
Author: H.J. Lu <address@hidden>
Date:   Mon Jun 12 09:05:57 2017 -0700

    x86-64: Implement strcpy family IFUNC selectors in C
    
    Implement strcpy family IFUNC selectors in C.
    
    All internal calls within libc.so can use IFUNC on x86-64 since unlike
    x86, x86-64 supports PC-relative addressing to access the GOT entry so
    that it can call via PLT without using an extra register.  For libc.a,
    we can't use IFUNC for functions which are called before IFUNC has been
    initialized.  Use IFUNC internally reduces the icache footprint since
    libc.so and other codes in the process use the same implementations.
    This patch uses IFUNC for strcpy family functions within libc.
    
        * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
        strcpy-sse2 and stpcpy-sse2.
        * sysdeps/x86_64/multiarch/ifunc-unaligned-ssse3.h: New file.
        * sysdeps/x86_64/multiarch/stpcpy-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/stpcpy.c: Likewise.
        * sysdeps/x86_64/multiarch/stpncpy.c: Likewise.
        * sysdeps/x86_64/multiarch/strcpy-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/strcpy.c: Likewise.
        * sysdeps/x86_64/multiarch/strncpy.c: Likewise.
        * sysdeps/x86_64/multiarch/stpcpy.S: Removed.
        * sysdeps/x86_64/multiarch/stpncpy.S: Likewise.
        * sysdeps/x86_64/multiarch/strcpy.S: Likewise.
        * sysdeps/x86_64/multiarch/strncpy.S: Likewise.
        * sysdeps/x86_64/multiarch/stpncpy-c.c (weak_alias): New.
        (libc_hidden_def): Always defined as empty.
        * sysdeps/x86_64/multiarch/strncpy-c.c (libc_hidden_builtin_def):
        Always Defined as empty.

commit 18b10de7ced9e9c3843299fb600e40b11af3e0af
Author: Wilco Dijkstra <address@hidden>
Date:   Mon Jun 12 15:19:38 2017 +0100

    2017-06-12  Wilco Dijkstra  <address@hidden>
    
    There is no longer a need for string2.h, so remove it and all mention of it.
    Move the redirect for __stpcpy to include/string.h since it is still 
required
    until all internal uses have been renamed.
    This fixes several linknamespace/localplt failures when building with -Os.
    
        [BZ #15105]
        [BZ #19463]
        * include/string.h: Add internal redirect for __stpcpy.
        * string/Makefile: Remove bits/string2.h.
        * string/string.h: Update comment.
        * string/string-inlines.c: Remove bits/string2.h include and comment.
        * string/bits/string2.h: Remove file.

commit d99431e519fdeb16edb1222b77430ac9853a2334
Author: Wilco Dijkstra <address@hidden>
Date:   Mon Jun 12 14:56:53 2017 +0100

    Replace all internal uses of __bzero with memset.  This removes the need
    to redirect it to a builtin and means memset is inlined whenever possible,
    including with -Os.
    
        * sunrpc/bindrsvprt.c (bindresvport): Change __bzero to memset.
        * sunrpc/clnt_gen.c (clnt_create): Likewise.
        * sunrpc/des_impl.c (_des_crypt): Likewise.
        * sunrpc/key_call.c (key_gendes): Likewise.
        * sunrpc/pmap_rmt.c (clnt_broadcast): Likewise.
        * sunrpc/svc_simple.c (universal): Likewise.
        * sunrpc/svc_tcp.c (svctcp_create): Likewise.
        * sunrpc/svc_udp.c (svcudp_bufcreate): Likewise.
        * sysdeps/arm/aeabi_memclr.c (__aeabi_memclr): Likewise.

commit b05eca0e1d96aecb25516287913c54bbb93d3d92
Author: Santhosh Thottingal <address@hidden>
Date:   Sun Jun 11 10:08:37 2017 -0400

    Correct collation rules for Malayalam.
    
        [BZ #19922]
        * locales/iso14651_t1_common: Add collation rules for U+07DA to U+07DF.
    
        [BZ #19919]
        * locales/iso14651_t1_common: Correct collation of U+0D36 and U+0D37.

commit 8458956a6219b6dbd97b0e9e97caf742f3c6342e
Author: Zack Weinberg <address@hidden>
Date:   Sat Jun 10 13:08:36 2017 -0400

    Correct an outdated comment in stdlib/errno.h.

commit cdfbe5037f2f67bf5f560b73732b69d0fabe2314
Author: Paul Clarke <address@hidden>
Date:   Fri Jun 9 14:36:22 2017 -0300

    powerpc: add sysconf support for cache geometries
    
    There is currently no "cross-platform" (x86 and POWER) support for
    determining the cacheline size.
    
    This patch adds support to sysconf() to correctly report cacheline sizes
    based on the information in the auxilliary vector.
    
    Thus, using sysconf() is a cross-platform (x86 and POWER) solution for
    determining cacheline sizes.
    
    Support is added (on powerpc) for:
    _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
    
        * sysdeps/unix/sysv/linux/powerpc/sysconf.c: New file.
        Add powerpc-specific overrides for L1, L2, L3 CACHE_SIZEs,
        CACHE_ASSOCs, and CACHE_LINESIZEs, retrieving from auxv.
        * sysdeps/unix/sysv/linux/powerpc/test-powerpc-linux-sysconf.c:
        New file.  Invoke newly supported sysconf values for powerpc,
        and report results.  If none are supported, report so.
        * sysdeps/unix/sysv/linux/powerpc/Makefile (tests):  Add new test,
        tst-sysconf.

commit d6bd839b9acfe619afa1db67a2882c0ce839861f
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Fri Jun 9 14:36:22 2017 -0300

    Add a way to bypass the PLT when calling getauxval
    
        * include/sys/auxv.h (__getauxval): Add a prototype and its
        libc_hidden_proto.
        * misc/getauxval.c (__getauxval): Use libc_hidden_def.

commit a17973efc647439757388bcbee74d73c550af0e1
Author: Joseph Myers <address@hidden>
Date:   Fri Jun 9 16:28:07 2017 +0000

    Fix waitid namespace (bug 21561).
    
    In sys/wait.h, waitid and associated constants and types are UX-shaded
    in XPG4.2 (so not in XPG4), and XSI-shaded in POSIX before 2008, so
    should be appropriately conditional in the headers.  This patch fixes
    the conditionals accordingly.  (WCONTINUED is actually still
    XSI-shaded in POSIX.1:2008, but W* is also reserved there without
    XSI-shading, so nothing special needs to be done about the
    conditionals on WCONTINUED to conform to POSIX.1:2008 namespace
    rules.)
    
    Tested for x86_64.
    
        [BZ #21561]
        * posix/sys/wait.h (idtype_t): Change [__USE_XOPEN] condition to
        [__USE_XOPEN_EXTENDED].
        (id_t): Likewise.
        (include of <bits/types/siginfo_t.h): Likewise.
        (waitid): Likewise.
        * sysdeps/unix/sysv/linux/bits/waitflags.h (WSTOPPED): Condition
        on [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8].
        (WEXITED): Likewise.
        (WCONTINUED): Likewise.
        (WNOWAIT): Likewise.
        * conform/Makefile (test-xfail-XPG4/stdlib.h/conform): Remove.
        (test-xfail-XPG4/sys/wait.h/conform): Likewise.
        (test-xfail-POSIX/sys/wait.h/conform): Likewise.

commit 10d33c5a86ad585cea745df7eef60bd80bb154cf
Author: Joseph Myers <address@hidden>
Date:   Fri Jun 9 16:26:06 2017 +0000

    Update nios2, sparc32 localplt.data files for recent GCC change.
    
    A recent GCC change to expand floating-point classification built-in
    functions inline using integer rather than floating-point arithmetic
    in some cases resulted in localplt test failures for nios2 and sparc32
    <https://sourceware.org/ml/libc-testresults/2017-q2/msg00320.html>.
    This patch updates the localplt.data files in question to mark the
    relevant symbols as optional / add a new optional symbol.  (The GCC
    patch has been reverted because of other problems it caused, but one
    can assume it will be applied again, without changes that would affect
    the PLT entries generated, once those issues have been resolved.)
    
    Tested with build-many-glibcs.py.
    
        * sysdeps/unix/sysv/linux/nios2/localplt.data (__gtdf2): Mark
        libc.so PLT entry optional.
        (__gtsf2): Likewise.
        (__unorddf2): Likewise.
        (__unordsf2): Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/localplt.data (_Q_fgt):
        New optional libc.so PLT entry.

commit b85995291e8db20bb08a64f409268ce7ffb7ed93
Author: Joseph Myers <address@hidden>
Date:   Fri Jun 9 13:49:10 2017 +0000

    Fix sigpause namespace (bug 21554).
    
    The sigpause function is declared for __USE_XOPEN.  As it's new in
    XPG4.2 it should be declared only for __USE_XOPEN_EXTENDED.  This
    patch fixes the declaration accordingly.
    
    Tested for x86_64.
    
        [BZ #21554]
        * signal/signal.h (sigpause):: Declare if [__USE_XOPEN_EXTENDED],
        not [__USE_XOPEN].

commit 0862cdcdc814185345ab3e6eda4bb1b81efdf76a
Author: Joseph Myers <address@hidden>
Date:   Fri Jun 9 13:45:37 2017 +0000

    Condition signal.h inclusion in sys/wait.h (bug 21560).
    
    sys/wait.h includes signal.h unconditionally.  But the permission to
    do so is UX-shaded in XPG4.2, and XSI-shaded in POSIX before 2008, so
    this should not be unconditional.  This patch fixes this
    conservatively: the include is kept, but conditioned on the standards
    that permit it (meaning it is still present by default, because
    non-XSI POSIX.1:2008 is enabled by default).  <bits/types.h> is now
    included unconditionally to provide the required definition of
    __pid_t; it was previously included via <signal.h>.  Some standards
    require pid_t to be defined here, and all allow it to be defined here;
    previously defined via <signal.h>, it's now defined directly in this
    header.
    
    Tested for x86_64.  This does not fix any of the sys/wait.h
    conformtest failures, but substantially reduces the number of
    namespace failures for sys/wait.h for XPG4 and POSIX.
    
        [BZ #21560]
        * posix/sys/wait.h: Condition include of <signal.h> on
        [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8].  Include <bits/types.h>
        unconditionally.
        [!__pid_t_defined] (pid_t): Define typedef.

commit b4971123e9e681126cb8eaae6d5de56be84c9e98
Author: Zack Weinberg <address@hidden>
Date:   Fri Jun 9 09:37:55 2017 -0400

    Remove bare use of __attribute__ in include/errno.h.
    
    This is just a style fix; we always prefer the shorthand macros over
    bare uses of __attribute__, even in private headers.
    
        * include/errno.h (__errno_location): Use __attribute_const__
        instead of bare __attribute__.

commit 65b6d8b79c20bbf83209c6a23645cf5422170e5d
Author: Zack Weinberg <address@hidden>
Date:   Fri Jun 9 09:32:43 2017 -0400

    Polish the treatment of dl-tunable-list.h in Makeconfig.
    
    Like basically all before-compile headers, dl-tunable-list.h should be
    generated using a stamp file to minimize unnecessary rebuilding; it
    wasn't being added to common-generated, so it wouldn't get cleaned up;
    and it was in between the rules for libc-modules.h/.stmp and their own
    addition to common-generated.
    
        * Makeconfig (dl-tunable-list.h): Generate using a stamp file.
        (common-generated): Add libc-modules.h and libc-modules.stmp in a
        more appropriate location. Also add dl-tunable-list.h and
        dl-tunable-list.stmp.

commit 6b6710e55b1040ec0eed6ce2eba38c630429b5b4
Author: H.J. Lu <address@hidden>
Date:   Fri Jun 9 05:53:45 2017 -0700

    x86-64: Correct comments in ifunc-impl-list.c
    
        * sysdeps/x86_64/multiarch/ifunc-impl-list.c: Correct comments.

commit d2538b91568af2a63c9d8649ce11756d4dfbdac3
Author: H.J. Lu <address@hidden>
Date:   Fri Jun 9 05:45:43 2017 -0700

    x86-64: Optimize strrchr/wcsrchr with AVX2
    
    Optimize strrchr/wcsrchr with AVX2 to check 32 bytes with vector
    instructions.  It is as fast as SSE2 version for small data sizes
    and up to 1X faster for large data sizes on Haswell.  Select AVX2
    version on AVX2 machines where vzeroupper is preferred and AVX
    unaligned load is fast.
    
        * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
        strrchr-sse2, strrchr-avx2, wcsrchr-sse2 and wcsrchr-avx2.
        * sysdeps/x86_64/multiarch/ifunc-impl-list.c
        (__libc_ifunc_impl_list): Add tests for __strrchr_avx2,
        __strrchr_sse2, __wcsrchr_avx2 and __wcsrchr_sse2.
        * sysdeps/x86_64/multiarch/strrchr-avx2.S: New file.
        * sysdeps/x86_64/multiarch/strrchr-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/strrchr.c: Likewise.
        * sysdeps/x86_64/multiarch/wcsrchr-avx2.S: Likewise.
        * sysdeps/x86_64/multiarch/wcsrchr-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/wcsrchr.c: Likewise.

commit 5ac7aa1d7cce8580f8225c33c819991abca102b9
Author: H.J. Lu <address@hidden>
Date:   Fri Jun 9 05:44:30 2017 -0700

    x86-64: Optimize memrchr with AVX2
    
    Optimize memrchr with AVX2 to search 32 bytes with a single vector
    compare instruction.  It is as fast as SSE2 memrchr for small data
    sizes and up to 1X faster for large data sizes on Haswell.  Select
    AVX2 memrchr on AVX2 machines where vzeroupper is preferred and AVX
    unaligned load is fast.
    
        * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
        memrchr-sse2 and memrchr-avx2.
        * sysdeps/x86_64/multiarch/ifunc-impl-list.c
        (__libc_ifunc_impl_list): Add tests for __memrchr_avx2 and
        __memrchr_sse2.
        * sysdeps/x86_64/multiarch/memrchr-avx2.S: New file.
        * sysdeps/x86_64/multiarch/memrchr-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/memrchr.c: Likewise.

commit 8fe57365bfb5a417d911ab715a5671b3b1d7b155
Author: H.J. Lu <address@hidden>
Date:   Fri Jun 9 05:42:16 2017 -0700

    x86-64: Optimize strchr/strchrnul/wcschr with AVX2
    
    Optimize strchr/strchrnul/wcschr with AVX2 to search 32 bytes with vector
    instructions.  It is as fast as SSE2 versions for size <= 16 bytes and up
    to 1X faster for or size > 16 bytes on Haswell.  Select AVX2 version 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
        strchr-sse2, strchrnul-sse2, strchr-avx2, strchrnul-avx2,
        wcschr-sse2 and wcschr-avx2.
        * sysdeps/x86_64/multiarch/ifunc-impl-list.c
        (__libc_ifunc_impl_list): Add tests for __strchr_avx2,
        __strchrnul_avx2, __strchrnul_sse2, __wcschr_avx2 and
        __wcschr_sse2.
        * sysdeps/x86_64/multiarch/strchr-avx2.S: New file.
        * sysdeps/x86_64/multiarch/strchr-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/strchr.c: Likewise.
        * sysdeps/x86_64/multiarch/strchrnul-avx2.S: Likewise.
        * sysdeps/x86_64/multiarch/strchrnul-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/strchrnul.c: Likewise.
        * sysdeps/x86_64/multiarch/wcschr-avx2.S: Likewise.
        * sysdeps/x86_64/multiarch/wcschr-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/wcschr.c: Likewise.
        * sysdeps/x86_64/multiarch/strchr.S: Removed.

commit dc485ceb2ac596d27294cc1942adf3181f15e8bf
Author: H.J. Lu <address@hidden>
Date:   Fri Jun 9 05:18:03 2017 -0700

    x86-64: Optimize strlen/strnlen/wcslen/wcsnlen with AVX2
    
    Optimize strlen/strnlen/wcslen/wcsnlen with AVX2 to check 32 bytes with
    a single vector compare instruction.  It is as fast as SSE2 versions for
    size <= 16 bytes and up to 1X faster for or size > 16 bytes on Haswell.
    Select AVX2 version 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
        strlen-sse2, strnlen-sse2, strlen-avx2, strnlen-avx2,
        wcslen-sse2, wcslen-avx2 and wcsnlen-avx2.
        * sysdeps/x86_64/multiarch/ifunc-impl-list.c
        (__libc_ifunc_impl_list): Add tests for __strlen_avx2,
        __strlen_sse2, __strnlen_avx2, __strnlen_sse2, __wcslen_avx2,
        __wcslen_sse2 and __wcsnlen_avx2.
        * sysdeps/x86_64/multiarch/strlen-avx2.S: New file.
        * sysdeps/x86_64/multiarch/strlen-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/strlen.c: Likewise.
        * sysdeps/x86_64/multiarch/strnlen-avx2.S: Likewise.
        * sysdeps/x86_64/multiarch/strnlen-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/strnlen.c: Likewise.
        * sysdeps/x86_64/multiarch/wcslen-avx2.S: Likewise.
        * sysdeps/x86_64/multiarch/wcslen-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/wcslen.c: Likewise.
        * sysdeps/x86_64/multiarch/wcsnlen-avx2.S: Likewise.
        * sysdeps/x86_64/multiarch/wcsnlen.c (OPTIMIZE (avx2)): New.
        (IFUNC_SELECTOR): Return OPTIMIZE (avx2) on AVX2 machines where
        vzeroupper is preferred and AVX unaligned load is fast.

commit 2f5d20ac99b9434a634629282cbb46e2a8d56a1c
Author: H.J. Lu <address@hidden>
Date:   Fri Jun 9 05:13:15 2017 -0700

    x86-64: Optimize memchr/rawmemchr/wmemchr with SSE2/AVX2
    
    SSE2 memchr is extended to support wmemchr.  AVX2 memchr/rawmemchr/wmemchr
    are added to search 32 bytes with a single vector compare instruction.
    AVX2 memchr/rawmemchr/wmemchr are as fast as SSE2 memchr/rawmemchr/wmemchr
    for small sizes and up to 1.5X faster for larger sizes on Haswell and
    Skylake.  Select AVX2 memchr/rawmemchr/wmemchr 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/memchr.S (MEMCHR): New.  Depending on if
        USE_AS_WMEMCHR is defined.
        (PCMPEQ): Likewise.
        (memchr): Renamed to ...
        (MEMCHR): This.  Support wmemchr if USE_AS_WMEMCHR is defined.
        Replace pcmpeqb with PCMPEQ.
        * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
        memchr-sse2, rawmemchr-sse2, memchr-avx2, rawmemchr-avx2,
        wmemchr-sse4_1, wmemchr-avx2 and wmemchr-c.
        * sysdeps/x86_64/multiarch/ifunc-avx2.h: New file.
        * sysdeps/x86_64/multiarch/memchr-avx2.S: Likewise.
        * sysdeps/x86_64/multiarch/memchr-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/memchr.c: Likewise.
        * sysdeps/x86_64/multiarch/rawmemchr-avx2.S: Likewise.
        * sysdeps/x86_64/multiarch/rawmemchr-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/rawmemchr.c: Likewise.
        * sysdeps/x86_64/multiarch/wmemchr-avx2.S: Likewise.
        * sysdeps/x86_64/multiarch/wmemchr-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/wmemchr.c: Likewise.
        * sysdeps/x86_64/multiarch/ifunc-impl-list.c
        (__libc_ifunc_impl_list): Test __memchr_avx2, __memchr_sse2,
        __rawmemchr_avx2, __rawmemchr_sse2, __wmemchr_avx2 and
        __wmemchr_sse2.

commit 990c32b93a29d8b8d599e10ebca19a260f84cbba
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 9 14:08:57 2017 +0200

    malloc: Remove tst-dynarray, tst-dynarray-fail from test-srcs
    
    They are already covered through the tests variable.

commit 48bd8cda09535e2344a7969755d3fd87013f8f9f
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 9 14:08:13 2017 +0200

    support: Expose TEST_VERIFY_EXIT behavior to GCC optimizers
    
    Previously, the implementation would conditionally exit based on the
    status argument, which GCC did not know about.  This leads to
    false uninitialized variable warnings when data is accessed after a
    TEST_VERIFY_EXIT failure (from code which would never execute).

commit 6c85cc2852367ea2db91ff6a1fc0f6fc0653788d
Author: Siddhesh Poyarekar <address@hidden>
Date:   Fri Jun 9 14:18:11 2017 +0530

    aarch64: Fix undefined behavior in _dl_procinfo
    
    1 << 31 is undefined, so replace it with a cleaner check.  Also remove
    magic numbers in comments.
    
        * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h: Remove
        mention of magic numbers in comments.
        (_dl_procinfo): Fix undefined behavior

commit ab70273bb7b0d4b20325560eba1fd3777d7e5f11
Author: Joseph Myers <address@hidden>
Date:   Thu Jun 8 22:34:58 2017 +0000

    conformtest: Correct sys/wait.h expectations for XPG4.
    
    This patch corrects the conformtest expectations for sys/wait.h for
    XPG4.  This does not change the test results for this header at the
    makefile level since it fixes some spurious failures for this header
    while introducing other failures previously hidden by incorrect
    expectations.  However, it shows up issues with stdlib.h for XPG4
    defining W* names that are not permitted in this case (previously
    wrongly allowed; the W* reservation is UX-shaded in XPG4.2 /
    XSI-shaded in POSIX before 2008); that test is thus XFAILed.
    
    Tested for x86_64.
    
        * conform/data/sys/wait.h-data (WIFCONTINUED): Do not expect for
        [XPG4].
        (WEXITED): Likewise.
        (WSTOPPED): Likewise.
        (WCONTINUED): Likewise.
        (WNOHANG): Likewise.
        (WNOWAIT): Likewise.
        (idtype_t): Likewise.
        (P_ALL): Likewise.
        (P_PID): Likewise.
        (P_PGID): Likewise.
        (id_t): Likewise.
        (siginfo_t): Likewise.
        (wait3): Likewise.
        (waitid): Likewise.
        (signal.h): Do not allow header for [XPG4].
        (sys/resource.h): Likewise.
        (si_*): Do not allow for [XPG4].
        (W*): Likewise.
        (P_*): Likewise.
        (BUS_): Likewise.
        (CLD_): Likewise.
        (FPE_): Likewise.
        (ILL_): Likewise.
        (POLL_): Likewise.
        (SEGV_): Likewise.
        (SI_): Likewise.
        (TRAP_): Likewise.
        * conform/Makefile (test-xfail-XPG4/stdlib.h/conform): New
        variable.

commit 37b66c0b1a2156a43fb813499326230639ba2773
Author: H.J. Lu <address@hidden>
Date:   Thu Jun 8 12:52:42 2017 -0700

    ld.so: Consolidate 2 strtouls into _dl_strtoul [BZ #21528]
    
    There are 2 minimal strtoul implementations in ld.so:
    
    1. __strtoul_internal in elf/dl-minimal.c.
    2. tunables_strtoul in elf/dl-tunables.c.
    
    This patch adds _dl_strtoul to replace them.  Tested builds with and
    without --enable-tunables.
    
        [BZ #21528]
        * elf/dl-minimal.c (__strtoul_internal): Removed.
        (strtoul): Likewise.
        * elf/dl-misc.c (_dl_strtoul): New function.
        * elf/dl-tunables.c (tunables_strtoul): Removed.
        (tunable_initialize): Replace tunables_strtoul with _dl_strtoul.
        * elf/rtld.c (process_envvars): Likewise.
        * sysdeps/unix/sysv/linux/dl-librecon.h (_dl_osversion_init):
        Likewise.
        * sysdeps/generic/ldsodefs.h (_dl_strtoul): New prototype.

commit 199fc19d3aaaf57944ef036e15904febe877fc93
Author: Zack Weinberg <address@hidden>
Date:   Sun Nov 20 23:00:02 2016 -0500

    Remove __need macros from stdio.h and wchar.h.
    
    wint_t is a little finicky because it might be defined by stddef.h, which
    belongs to the compiler.
    
    In addition to the _types_, a bunch of other declarations shared between
    wctype.h and wchar.h are factored out to their own header.
    
        * libio/bits/types/FILE.h, libio/bits/types/__FILE.h
        * wcsmbs/bits/types/mbstate_t.h, wcsmbs/bits/types/__mbstate_t.h
        * wcsmbs/bits/types/wint_t.h: New single-type definition files.
        * wctype/bits/wctype-wchar.h: New file holding declarations shared
        between wctype.h and wchar.h.
    
        * libio/Makefile, wcsmbs/Makefile, wctype/Makefile:
        Install them.
    
        * include/bits/types/FILE.h, include/bits/types/__FILE.h
        * include/bits/types/mbstate_t.h, include/bits/types/__mbstate_t.h
        * include/bits/types/wint_t.h, include/bits/wcsmbs-wchar.h:
        New wrappers.
        * include/stdio.h, include/wchar.h, include/wctype.h:
        No need to handle __need macros.
    
        * grp/grp.h, gshadow/gshadow.h, hurd/hurd.h, iconv/gconv.h
        * libio/stdio.h, mach/mach.h, misc/mntent.h, pwd/pwd.h
        * shadow/shadow.h, stdio-common/printf.h, wcsmbs/uchar.h
        * wcsmbs/wchar.h, wctype/wctype.h
        * sysdeps/generic/_G_config.h, sysdeps/unix/sysv/linux/_G_config.h
        Use the new files instead of __need macros.

commit 4615f5aefeaa45345484a9ce8e3d0ea977c80d80
Author: H.J. Lu <address@hidden>
Date:   Thu Jun 8 09:55:48 2017 -0700

    Add more tests for memchr
    
    This patch adds tests for len == 0 and tests for positions close to the
    beginning, which are equivalent to positions close to the end for memchr.
    
        * string/test-memrchr.c (test_main): Add tests for len == 0
        and tests for positions close to the beginning, which are
        equivalent to positions close to the end for memchr.

commit 5e1122827a9f9751922b25c332f8f0272de60719
Author: H.J. Lu <address@hidden>
Date:   Wed Jun 7 14:09:59 2017 -0700

    x86-64: Rename wmemset.h to ifunc-wmemset.h
    
    No code changes.
    
        * sysdeps/x86_64/multiarch/wmemset.c: Include ifunc-wmemset.h
        instead of wmemset.h.
        * sysdeps/x86_64/multiarch/wmemset_chk.c: Likewise.
        * sysdeps/x86_64/multiarch/wmemset.h: Renamed to ...
        * sysdeps/x86_64/multiarch/ifunc-wmemset.h: This.

commit cf2046ec7dd4b233180377cc5b8debcf551d1fc9
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Thu Nov 3 12:37:08 2016 -0200

    float128: Add strfromf128
    
    Add strfromf128 to stdlib when _Float128 support is enabled.
    
        * stdio-common/printf-parsemb.c (__parse_one_specmb): Initialize
        spec->info.is_binary128 to zero.
        * stdio-common/printf.h (printf_info): Add new member is_binary128
        to indicate that the number being converted to string is compatible
        with the IEC 60559 binary128 format.
        * stdio-common/printf_fp.c (__printf_fp_l): Add code to deal with
        _Float128 numbers.
        * stdio-common/printf_fphex.c: Include ieee754_float128.h and
        ldbl-128/printf_fphex_macros.h
        (__printf_fphex): Add code to deal with _Float128 numbers.
        * stdio-common/printf_size.c (__printf_size): Likewise.
        * stdio-common/vfprintf.c (process_arg): Initialize member
        info.is_binary128 to zero.
        * stdlib/fpioconst.h (FLT128_MAX_10_EXP_LOG): New macro.
        * stdlib/stdlib.h: Include bits/floatn.h for _Float128 support.
        (strfromf128): New declaration.
        * stdlib/strfrom-skeleton.c (STRFROM): Set member info.is_binary128
        to one.
        * sysdeps/ieee754/float128/Makefile: Add strfromf128.
        * sysdeps/ieee754/float128/Versions: Likewise.
        * sysdeps/ieee754/float128/strfromf128.c: New file.

commit 2bc646c9e95b7c0005b2bc09c06671ffbb509629
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Fri Jun 2 16:03:40 2017 -0300

    Refactor PRINT_FPHEX_LONG_DOUBLE into a reusable macro
    
    This patch refactors the macro PRINT_FPHEX_LONG_DOUBLE from the file
    sysdeps/ieee754/ldbl-128/printf_fphex.c into a function-like macro to
    enable its use for both long double and _Float128, when they are
    ABI-distinct.
    
        * sysdeps/ieee754/ldbl-128/printf_fphex.c: Include
        ldbl-128/printf_fphex_macros.h for the definition of PRINT_FPHEX.
        (PRINT_FPHEX_LONG_DOUBLE): Define based on PRINT_FPHEX.
        * sysdeps/ieee754/ldbl-128/printf_fphex_macros.h
        (PRINT_FPHEX): New function-like macro that can be used for long
        double, as well as for _Float128

commit aab0f374e7c43f6baf88db271865feabb7bcc1b2
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Mon May 29 10:49:42 2017 -0300

    Remove duplicated code from __printf_fp_l, __printf_fphex, and __printf_size
    
    In __printf_fp_l, __printf_fphex, and __printf_size the blocks of code that 
are
    used to read a double or long double argument, check for special values and
    convert to multiprecision are similar.  When adding float128 support to 
libc,
    more code would be duplicated to deal with the extra type.  This patch moves
    the repetitive code to a macro which is now used by double and long double 
and
    will be used for float128 when support is added, thus avoiding more
    duplication.
    
    Tested for powerpc64le and s390x.
    
        * stdio-common/printf_fp.c (PRINTF_FP_FETCH): New macro.
        (__printf_fp_l): Use the new macro to avoid duplicating code.
        * stdio-common/printf_fphex.c (PRINTF_FPHEX_FETCH): New macro.
        (__printf_fphex): Use the new macro to avoid duplicating code.
        * stdio-common/printf_size.c (PRINTF_SIZE_FETCH): New macro.
        (__printf_size): Use the new macro to avoid duplicating code.

commit 32bf1d09dadee5b60df869ed3567a2b12c04e3fc
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Thu Nov 3 12:26:52 2016 -0200

    float128: Add conversion from float128 to mpn
    
    Reuse the code for __mpn_extract_long_double to implement
    __mpn_extract_float128.
    
        * include/gmp.h: Include bits/floatn.h
        (__mpn_extract_float128): Declare when __HAVE_DISTINCT_FLOAT128 is 1.
        * stdlib/gmp-impl.h: Also check if alloca is not defined before
        including stack-alloc.h.  It could have been defined by other header
        which not necessarily defines HAVE_ALLOCA.
        * sysdeps/ieee754/float128/Makefile: New file.
        * sysdeps/ieee754/float128/float1282mpn.c: New file.
        * sysdeps/ieee754/float128/float128_private.h: Include gmp.h before
        redefining __mpn_extract_long_double to __mpn_extract_float128, then
        redefine __mpn_extract_long_double to __mpn_extract_float128.
        * sysdeps/ieee754/ldbl-128/ldbl2mpn.c: Replace long double with
        _Float128 to allow float128_private.h overrides.

commit 82c19bdfe39164fda779c79a925c2050b19e421b
Author: Paul E. Murphy <address@hidden>
Date:   Fri Nov 4 09:57:27 2016 -0200

    float128: Extend the power of ten tables
    
    Update the power of ten tables used by the common implementation when long
    double is not the most expressive real type.
    
        * stdlib/fpioconst.h: Include bits/floatn.h.
        (FPIOCONST_HAVE_EXTENDED_RANGE): New macro for testing how big the
        power of ten table should be.
        (FPIOCONST_POW10_ARRAY_SIZE): Use larger table if above is true.
        * stdlib/fpioconst.c (__tens): Use FPIOCONST_HAVE_EXTENDED_RANGE
        to include larger tables when _Float128 support is enabled.
        (_fpioconst_pow10): Likewise.

commit 81df4d253dc3184fb003e4737b917e8d35c341d1
Author: Joseph Myers <address@hidden>
Date:   Wed Jun 7 17:59:50 2017 +0000

    Fix include paths in include/bits/types/*.h.
    
    Various include/bits/types/*.h files do
    
    where the path specified is relative to the toplevel glibc source
    directory.
    
    That has the wrong number of ../ components to achieve the desired
    effect; it actually searches relative to include/ for a file that does
    not exist there, then goes on to search the #include <> paths
    specified with -I, eventually finding the desired file via such a path
    (e.g. sysdeps/nptl/) with the right number of directory components.
    Before that it searches include/../.. because of the -Iinclude,
    meaning that an appropriately named file outside the glibc source tree
    can affect the build.
    
    This patch changes all those files to do #include <path> without the
    ../../, as some such files already do.
    
    Tested for x86_64.
    
        * include/bits/types/clock_t.h: Use #include <path> instead of
        #include "../../path".
        * include/bits/types/clockid_t.h: Likewise.
        * include/bits/types/struct_iovec.h: Likewise.
        * include/bits/types/struct_itimerspec.h: Likewise.
        * include/bits/types/struct_osockaddr.h: Likewise.
        * include/bits/types/struct_sigstack.h: Likewise.
        * include/bits/types/struct_timespec.h: Likewise.
        * include/bits/types/struct_timeval.h: Likewise.
        * include/bits/types/struct_tm.h: Likewise.
        * include/bits/types/time_t.h: Likewise.
        * include/bits/types/timer_t.h: Likewise.

commit bd6193907a09f874553886f0986ba16b961fab8d
Author: Joseph Myers <address@hidden>
Date:   Wed Jun 7 17:14:28 2017 +0000

    Fix tst-timezone race (bug 14096).
    
    I observed a failure of timezone/tst-timezone with the same symptoms
    as reported in bug 14096.
    
    I was unable to reproduce the failure on testing again.  However, from
    inspection, the cause is as follows.  tst-timezone uses time zones
    compiled from the northamerica file, but has no dependency on any such
    zones, so with a parallel build it is possible that they do not get
    compiled until after tst-timezone is run.  This patch adds a
    dependency on the compiled America/New_York zone (the one used as a
    makefile target to cause such zones to be compiled, rather than one
    which is actually used in that test) to fix the race.
    
    Tested for x86_64.
    
        [BZ #14096]
        * timezone/Makefile ($(objpfx)tst-timezone.out): Depend on
        America/New_York.

commit 2e87c7d1582461044f8cd983fd9be121cf23803f
Author: H.J. Lu <address@hidden>
Date:   Wed Jun 7 09:04:40 2017 -0700

    x86-64: Fold ifunc-sse4_1.h into wcsnlen.c
    
    Since ifunc-sse4_1.h is included only by wcsnlen.c, we can fold it
    into wcsnlen.c.  No code changes in wcsnlen.o.
    
    2017-06-07  H.J. Lu  <address@hidden>
    
        * sysdeps/x86_64/multiarch/ifunc-sse4_1.h: Removed and folded
        into ...
        * sysdeps/x86_64/multiarch/wcsnlen.c: Here.  Don't include
        ifunc-sse4_1.h.

commit 8f0a947cf55f3b0c4ebdf06953c57eff67a22fa9
Author: Arjun Shankar <address@hidden>
Date:   Mon May 29 16:12:31 2017 +0200

    Remove check for NULL buffer passed to `ptsname_r'
    
    `ptsname_r' is declared in stdlib.h to only accept a `nonnull'
    second argument and therefore GCC may choose to make optimizations
    based on the assumption that this argument is NULL. This means
    that potentially, GCC can optimize away the NULL check at some
    point in the future. Since this is a programming interface, we
    might as well remove the NULL check ourselves.
    
    This also warrants a change to the `ptsname_r' manual page that
    must be submitted to the corresponding mailing list.
    
    In addition, remove the NULL buffer test in login/tst-ptsname.c.

commit fdc543919a3d8578631a492e1227c2cd8f5ecec7
Author: Arjun Shankar <address@hidden>
Date:   Tue Jun 6 17:23:21 2017 +0200

    Use test-driver in sysdeps/unix/sysv/linux/tst-clone2.c

commit ea01a4da219011f4a4db97eef3c5bfc2f6e8fc6b
Author: Siddhesh Poyarekar <address@hidden>
Date:   Thu May 25 15:34:55 2017 +0530

    aarch64: Add hwcap string routines
    
    Add support for routines in dl-procinfo.h to show string versions of
    HWCAP entries when a program is invoked with the LD_SHOW_AUXV
    environment variable set and also to aid in path resolution for
    ldconfig.
    
        * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c
        (_dl_aarch64_cap_flags): New array.
        * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h
        (_dl_hwcap_string, _dl_string_hwcap, _dl_procinfo): Implement
        functions.

commit 511c5a1087991108118c6e9c9546e83e992bf39c
Author: Siddhesh Poyarekar <address@hidden>
Date:   Tue May 23 00:59:16 2017 +0530

    Make LD_HWCAP_MASK usable for static binaries
    
    The LD_HWCAP_MASK environment variable was ignored in static binaries,
    which is inconsistent with the behaviour of dynamically linked
    binaries.  This seems to have been because of the inability of
    ld_hwcap_mask being read early enough to influence anything but now
    that it is in tunables, the mask is usable in static binaries as well.
    
    This feature is important for aarch64, which relies on HWCAP_CPUID
    being masked out to disable multiarch.  A sanity test on x86_64 shows
    that there are no failures.  Likewise for aarch64.
    
        * elf/dl-hwcaps.h [HAVE_TUNABLES]: Always read hwcap_mask.
        * sysdeps/sparc/sparc32/dl-machine.h [HAVE_TUNABLES]:
        Likewise.
        * sysdeps/x86/cpu-features.c (init_cpu_features): Always set
        up hwcap and hwcap_mask.

commit f82e9672ad89ea1ef40bbe1af71478e255e87c5e
Author: Siddhesh Poyarekar <address@hidden>
Date:   Tue Apr 25 22:39:17 2017 +0530

    aarch64: Allow overriding HWCAP_CPUID feature check using HWCAP_MASK
    
    Now that LD_HWCAP_MASK (or glibc.tune.hwcap_mask) is read early enough
    to influence cpu feature check in aarch64, use it to influence
    multiarch selection.  Setting LD_HWCAP_MASK such that it clears
    HWCAP_CPUID will now disable multiarch for the binary.
    
    HWCAP_CPUID is also now set in HWCAP_IMPORTANT so that it is set by
    default.  With this patch, this feature is only usable with
    dyanmically linked binaries because LD_HWCAP_MASK is not read for
    static binaries.  A future patch fixes that.
    
        * sysdeps/unix/sysv/linux/aarch64/cpu-features.c
        (init_cpu_features): Use glibc.tune.hwcap_mask.
        * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h: New file.

commit ff08fc59e36e02074eba8ab39b0d9001363970f0
Author: Siddhesh Poyarekar <address@hidden>
Date:   Thu Jun 1 22:32:03 2017 +0530

    tunables: Use glibc.tune.hwcap_mask tunable instead of _dl_hwcap_mask
    
    Drop _dl_hwcap_mask when building with tunables.  This completes the
    transition of hwcap_mask reading from _dl_hwcap_mask to tunables.
    
        * elf/dl-hwcaps.h: New file.
        * elf/dl-hwcaps.c: Include it.
        (_dl_important_hwcaps)[HAVE_TUNABLES]: Read and update
        glibc.tune.hwcap_mask.
        * elf/dl-cache.c: Include dl-hwcaps.h.
        (_dl_load_cache_lookup)[HAVE_TUNABLES]: Read
        glibc.tune.hwcap_mask.
        * sysdeps/sparc/sparc32/dl-machine.h: Likewise.
        * elf/dl-support.c (_dl_hwcap2)[HAVE_TUNABLES]: Drop
        _dl_hwcap_mask.
        * elf/rtld.c (rtld_global_ro)[HAVE_TUNABLES]: Drop
        _dl_hwcap_mask.
        (process_envvars)[HAVE_TUNABLES]: Likewise.
        * sysdeps/generic/ldsodefs.h (rtld_global_ro)[HAVE_TUNABLES]:
        Likewise.
        * sysdeps/x86/cpu-features.c (init_cpu_features): Don't
        initialize dl_hwcap_mask when tunables are enabled.

commit 6482e63403a3d13bf42f5029407b6151ad9f4ca5
Author: Siddhesh Poyarekar <address@hidden>
Date:   Wed Jun 7 10:53:49 2017 +0530

    Add include guards to dl-procinfo.h
    
    The dl-procinfo.h for linux/s390 and linux/i386 don't have include
    guards, which causes them to fail since addition of LD_HWCAP_MASK to
    tunables.  Add _DL_I386_PROCINFO_H guard to avoid redefining
    _dl_procinfo on multiple includes and also allow the subsequent
    include of another dl-procinfo.h to work.
    
    Verified with a build test on i686.
    
        * sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Add include
        guard.
        * sysdeps/unix/sysv/linux/s390/dl-procinfo.h: Likewise.

commit ea9b0ecbf0e7b6e8281047624efbe1b2cbb6d487
Author: Siddhesh Poyarekar <address@hidden>
Date:   Mon Apr 17 10:00:35 2017 +0530

    tunables: Add LD_HWCAP_MASK to tunables
    
    Add LD_HWCAP_MASK to tunables in preparation of it being removed from
    rtld.c.  This allows us to read LD_HWCAP_MASK much earlier so that it
    can influence IFUNC resolution in aarch64.
    
    This patch does not actually do anything other than read the
    LD_HWCAP_MASK variable and add the tunables way to set the
    LD_HWCAP_MASK, i.e. via the glibc.tune.hwcap_mask tunable.  In a
    follow-up patch, the _dl_hwcap_mask will be replaced with
    glibc.tune.hwcap_mask to complete the transition.
    
        * elf/dl-tunables.list: Add glibc.tune.hwcap_mask.
        * scripts/gen-tunables.awk: Include dl-procinfo.h.
        * manual/tunables.texi: Document glibc.tune.hwcap_mask.

commit 44330b6d32904fdc8b6835a112e0ba0aee9f4ef3
Author: Siddhesh Poyarekar <address@hidden>
Date:   Thu Jun 1 20:24:46 2017 +0530

    tunables: Clean up hooks to get and set tunables
    
    The TUNABLE_SET_VALUE and family of macros (and my later attempt to
    add a TUNABLE_GET) never quite went together very well because the
    overall interface was not clearly defined.  This patch is an attempt
    to do just that.
    
    This patch consolidates the API to two simple sets of macros,
    TUNABLE_GET* and TUNABLE_SET*.  If TUNABLE_NAMESPACE is defined,
    TUNABLE_GET takes just the tunable name, type and a (optionally NULL)
    callback function to get the value of the tunable.  The callback
    function, if non-NULL, is called if the tunable was externally set
    (i.e. via GLIBC_TUNABLES or any future mechanism).  For example:
    
        val = TUNABLE_GET (check, int32_t, check_callback)
    
    returns the value of the glibc.malloc.check tunable (assuming
    TUNABLE_NAMESPACE is set to malloc) as an int32_t into VAL after
    calling check_callback.
    
    Likewise, TUNABLE_SET can be used to set the value of the tunable,
    although this is currently possible only in the dynamic linker before
    it relocates itself.  For example:
    
      TUNABLE_SET (check, int32_t, 2)
    
    will set glibc.malloc.check to 2.  Of course, this is not possible
    since we set (or read) glibc.malloc.check long after it is relocated.
    
    To access or set a tunable outside of TUNABLE_NAMESPACE, use the
    TUNABLE_GET_FULL and TUNABLE_SET_FULL macros, which have the following
    prototype:
    
      TUNABLE_GET_FULL (glibc, tune, hwcap_mask, uint64_t, NULL)
      TUNABLE_SET_FULL (glibc, tune, hwcap_mask, uint64_t, 0xffff)
    
    In future the tunable list may get split into mutable and immutable
    tunables where mutable tunables can be modified by the library and
    userspace after relocation as well and TUNABLE_SET will be more useful
    than it currently is.  However whenever we actually do that split, we
    will have to ensure that the mutable tunables are protected with
    locks.
    
        * elf/Versions (__tunable_set_val): Rename to __tunable_get_val.
        * elf/dl-tunables.c: Likewise.
        (do_tunable_update_val): New function.
        (__tunable_set_val): New function.
        (__tunable_get_val): Call CB only if the tunable was externally
        initialized.
        (tunables_strtoul): Replace strval with initialized.
        * elf/dl-tunables.h (strval): Replace with a bool initialized.
        (TUNABLE_ENUM_NAME, TUNABLE_ENUM_NAME1): Adjust names to
        prevent collision.
        (__tunable_set_val): New function.
        (TUNABLE_GET, TUNABLE_GET_FULL): New macros.
        (TUNABLE_SET, TUNABLE_SET_FULL): Likewise.
        (TUNABLE_SET_VAL): Remove.
        (TUNABLE_SET_VAL_WITH_CALLBACK): Likewise.
        * README.tunables: Document the new macros.
        * malloc/arena.c (ptmalloc_init): Adjust.

commit d4cc385c6e4161897de9f6e73413132d41f66ba3
Author: H.J. Lu <address@hidden>
Date:   Tue Jun 6 06:12:22 2017 -0700

    x86-64: Move wcsnlen.S to multiarch/wcsnlen-sse4_1.S
    
    Since wcsnlen.S uses pminud which is the part of SSE4.1, move wcsnlen.S
    to multiarch/wcsnlen-sse4_1.S.
    
        * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
        wcsnlen-sse4_1 and wcsnlen-c.
        * sysdeps/x86_64/multiarch/ifunc-impl-list.c
        (__libc_ifunc_impl_list): Test __wcsnlen_sse4_1 and
        __wcsnlen_sse2.
        * sysdeps/x86_64/multiarch/ifunc-sse4_1.h: New file.
        * sysdeps/x86_64/multiarch/wcsnlen-c.c: Likewise.
        * sysdeps/x86_64/multiarch/wcsnlen-sse4_1.S: Likewise.
        * sysdeps/x86_64/multiarch/wcsnlen.c: Likewise.
        * sysdeps/x86_64/wcsnlen.S: Removed.

commit 4bf7abaeb3b50483aa91cc7ad2e16f979bfb6176
Author: Stefan Liebler <address@hidden>
Date:   Tue Jun 6 09:41:56 2017 +0200

    S390: Use generic spinlock code.
    
    This patch removes the s390 specific implementation of spinlock code
    and is now using the generic one.
    
    ChangeLog:
    
        * sysdeps/s390/nptl/pthread_spin_init.c: Delete File.
        * sysdeps/s390/nptl/pthread_spin_lock.c: Likewise.
        * sysdeps/s390/nptl/pthread_spin_trylock.c: Likewise.
        * sysdeps/s390/nptl/pthread_spin_unlock.c: Likewise.

commit 12d2dd706099aa42224149358634bce48b355823
Author: Stefan Liebler <address@hidden>
Date:   Tue Jun 6 09:41:56 2017 +0200

    Optimize generic spinlock code and use C11 like atomic macros.
    
    This patch optimizes the generic spinlock code.
    
    The type pthread_spinlock_t is a typedef to volatile int on all archs.
    Passing a volatile pointer to the atomic macros which are not mapped to the
    C11 atomic builtins can lead to extra stores and loads to stack if such
    a macro creates a temporary variable by using "__typeof (*(mem)) tmp;".
    Thus, those macros which are used by spinlock code - 
atomic_exchange_acquire,
    atomic_load_relaxed, atomic_compare_exchange_weak - have to be adjusted.
    According to the comment from  Szabolcs Nagy, the type of a cast expression 
is
    unqualified (see 
http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_423.htm):
    __typeof ((__typeof (*(mem)) *(mem)) tmp;
    Thus from spinlock perspective the variable tmp is of type int instead of
    type volatile int.  This patch adjusts those macros in include/atomic.h.
    With this construct GCC >= 5 omits the extra stores and loads.
    
    The atomic macros are replaced by the C11 like atomic macros and thus
    the code is aligned to it.  The pthread_spin_unlock implementation is now
    using release memory order instead of sequentially consistent memory order.
    The issue with passed volatile int pointers applies to the C11 like atomic
    macros as well as the ones used before.
    
    I've added a glibc_likely hint to the first atomic exchange in
    pthread_spin_lock in order to return immediately to the caller if the lock 
is
    free.  Without the hint, there is an additional jump if the lock is free.
    
    I've added the atomic_spin_nop macro within the loop of plain reads.
    The plain reads are also realized by C11 like atomic_load_relaxed macro.
    
    The new define ATOMIC_EXCHANGE_USES_CAS determines if the first try to 
acquire
    the spinlock in pthread_spin_lock or pthread_spin_trylock is an exchange
    or a CAS.  This is defined in atomic-machine.h for all architectures.
    
    The define SPIN_LOCK_READS_BETWEEN_CMPXCHG is now removed.
    There is no technical reason for throwing in a CAS every now and then,
    and so far we have no evidence that it can improve performance.
    If that would be the case, we have to adjust other spin-waiting loops
    elsewhere, too!  Using a CAS loop without plain reads is not a good idea
    on many targets and wasn't used by one.  Thus there is now no option to
    do so.
    
    Architectures are now using the generic spinlock automatically if they
    do not provide an own implementation.  Thus the pthread_spin_lock.c files
    in sysdeps folder are deleted.
    
    ChangeLog:
    
        * NEWS: Mention new spinlock implementation.
        * include/atomic.h:
        (__atomic_val_bysize): Cast type to omit volatile qualifier.
        (atomic_exchange_acq): Likewise.
        (atomic_load_relaxed): Likewise.
        (ATOMIC_EXCHANGE_USES_CAS): Check definition.
        * nptl/pthread_spin_init.c (pthread_spin_init):
        Use atomic_store_relaxed.
        * nptl/pthread_spin_lock.c (pthread_spin_lock):
        Use C11-like atomic macros.
        * nptl/pthread_spin_trylock.c (pthread_spin_trylock):
        Likewise.
        * nptl/pthread_spin_unlock.c (pthread_spin_unlock):
        Use atomic_store_release.
        * sysdeps/aarch64/nptl/pthread_spin_lock.c: Delete File.
        * sysdeps/arm/nptl/pthread_spin_lock.c: Likewise.
        * sysdeps/hppa/nptl/pthread_spin_lock.c: Likewise.
        * sysdeps/m68k/nptl/pthread_spin_lock.c: Likewise.
        * sysdeps/microblaze/nptl/pthread_spin_lock.c: Likewise.
        * sysdeps/mips/nptl/pthread_spin_lock.c: Likewise.
        * sysdeps/nios2/nptl/pthread_spin_lock.c: Likewise.
        * sysdeps/aarch64/atomic-machine.h (ATOMIC_EXCHANGE_USES_CAS): Define.
        * sysdeps/alpha/atomic-machine.h: Likewise.
        * sysdeps/arm/atomic-machine.h: Likewise.
        * sysdeps/i386/atomic-machine.h: Likewise.
        * sysdeps/ia64/atomic-machine.h: Likewise.
        * sysdeps/m68k/coldfire/atomic-machine.h: Likewise.
        * sysdeps/m68k/m680x0/m68020/atomic-machine.h: Likewise.
        * sysdeps/microblaze/atomic-machine.h: Likewise.
        * sysdeps/mips/atomic-machine.h: Likewise.
        * sysdeps/powerpc/powerpc32/atomic-machine.h: Likewise.
        * sysdeps/powerpc/powerpc64/atomic-machine.h: Likewise.
        * sysdeps/s390/atomic-machine.h: Likewise.
        * sysdeps/sparc/sparc32/atomic-machine.h: Likewise.
        * sysdeps/sparc/sparc32/sparcv9/atomic-machine.h: Likewise.
        * sysdeps/sparc/sparc64/atomic-machine.h: Likewise.
        * sysdeps/tile/tilegx/atomic-machine.h: Likewise.
        * sysdeps/tile/tilepro/atomic-machine.h: Likewise.
        * sysdeps/unix/sysv/linux/hppa/atomic-machine.h: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/atomic-machine.h: Likewise.
        * sysdeps/unix/sysv/linux/nios2/atomic-machine.h: Likewise.
        * sysdeps/unix/sysv/linux/sh/atomic-machine.h: Likewise.
        * sysdeps/x86_64/atomic-machine.h: Likewise.

commit 48e7bc7a55ff758435e940d4f3def24acfe52cb8
Author: H.J. Lu <address@hidden>
Date:   Mon Jun 5 16:20:00 2017 -0700

    x86: Don't use dl_x86_cpu_features in cacheinfo.c
    
    Since cpu_features is available, use it instead of dl_x86_cpu_features.
    
        * sysdeps/x86/cacheinfo.c (intel_check_word): Accept cpu_features
        and use it instead of dl_x86_cpu_features.
        (handle_intel): Replace maxidx with cpu_features.  Pass
        cpu_features to intel_check_word.
        (__cache_sysconf): Pass cpu_features to handle_intel.
        (init_cacheinfo): Likewise.  Use cpu_features instead of
        dl_x86_cpu_features.

commit 935971ba6b4eaf67a34e4651434ba9b61e7355cc
Author: H.J. Lu <address@hidden>
Date:   Mon Jun 5 12:52:41 2017 -0700

    x86-64: Optimize memcmp/wmemcmp with AVX2 and MOVBE
    
    Optimize x86-64 memcmp/wmemcmp with AVX2.  It uses vector compare as
    much as possible.  It is as fast as SSE4 memcmp for size <= 16 bytes
    and up to 2X faster for size > 16 bytes on Haswell and Skylake.  Select
    AVX2 memcmp/wmemcmp 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.
    
    Key features:
    
    1. For size from 2 to 7 bytes, load as big endian with movbe and bswap
       to avoid branches.
    2. Use overlapping compare to avoid branch.
    3. Use vector compare when size >= 4 bytes for memcmp or size >= 8
       bytes for wmemcmp.
    4. If size is 8 * VEC_SIZE or less, unroll the loop.
    5. Compare 4 * VEC_SIZE at a time with the aligned first memory area.
    6. Use 2 vector compares when size is 2 * VEC_SIZE or less.
    7. Use 4 vector compares when size is 4 * VEC_SIZE or less.
    8. Use 8 vector compares when size is 8 * VEC_SIZE or less.
    
        * sysdeps/x86/cpu-features.h (index_cpu_MOVBE): New.
        * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
        memcmp-avx2 and wmemcmp-avx2.
        * sysdeps/x86_64/multiarch/ifunc-impl-list.c
        (__libc_ifunc_impl_list): Test __memcmp_avx2 and __wmemcmp_avx2.
        * sysdeps/x86_64/multiarch/memcmp-avx2.S: New file.
        * sysdeps/x86_64/multiarch/wmemcmp-avx2.S: Likewise.
        * sysdeps/x86_64/multiarch/memcmp.S: Use __memcmp_avx2 on AVX
        2 machines if AVX unaligned load is fast and vzeroupper is
        preferred.
        * sysdeps/x86_64/multiarch/wmemcmp.S: Use __wmemcmp_avx2 on AVX
        2 machines if AVX unaligned load is fast and vzeroupper is
        preferred.

commit ef9c4cb6c7abb6340b52e19de31d2a56c8de5844
Author: H.J. Lu <address@hidden>
Date:   Mon Jun 5 11:09:48 2017 -0700

    x86-64: Optimize wmemset with SSE2/AVX2/AVX512
    
    The difference between memset and wmemset is byte vs int.  Add stubs
    to SSE2/AVX2/AVX512 memset for wmemset with updated constant and size:
    
    SSE2 wmemset:
        shl    $0x2,%rdx
        movd   %esi,%xmm0
        mov    %rdi,%rax
        pshufd $0x0,%xmm0,%xmm0
        jmp     entry_from_wmemset
    
    SSE2 memset:
        movd   %esi,%xmm0
        mov    %rdi,%rax
        punpcklbw %xmm0,%xmm0
        punpcklwd %xmm0,%xmm0
        pshufd $0x0,%xmm0,%xmm0
    entry_from_wmemset:
    
    Since the ERMS versions of wmemset requires "rep stosl" instead of
    "rep stosb", only the vector store stubs of SSE2/AVX2/AVX512 wmemset
    are added.  The SSE2 wmemset is about 3X faster and the AVX2 wmemset
    is about 6X faster on Haswell.
    
        * include/wchar.h (__wmemset_chk): New.
        * sysdeps/x86_64/memset.S (VDUP_TO_VEC0_AND_SET_RETURN): Renamed
        to MEMSET_VDUP_TO_VEC0_AND_SET_RETURN.
        (WMEMSET_VDUP_TO_VEC0_AND_SET_RETURN): New.
        (WMEMSET_CHK_SYMBOL): Likewise.
        (WMEMSET_SYMBOL): Likewise.
        (__wmemset): Add hidden definition.
        (wmemset): Add weak hidden definition.
        * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
        wmemset_chk-nonshared.
        * sysdeps/x86_64/multiarch/ifunc-impl-list.c
        (__libc_ifunc_impl_list): Add __wmemset_sse2_unaligned,
        __wmemset_avx2_unaligned, __wmemset_avx512_unaligned,
        __wmemset_chk_sse2_unaligned, __wmemset_chk_avx2_unaligned
        and __wmemset_chk_avx512_unaligned.
        * sysdeps/x86_64/multiarch/memset-avx2-unaligned-erms.S
        (VDUP_TO_VEC0_AND_SET_RETURN): Renamed to ...
        (MEMSET_VDUP_TO_VEC0_AND_SET_RETURN): This.
        (WMEMSET_VDUP_TO_VEC0_AND_SET_RETURN): New.
        (WMEMSET_SYMBOL): Likewise.
        * sysdeps/x86_64/multiarch/memset-avx512-unaligned-erms.S
        (VDUP_TO_VEC0_AND_SET_RETURN): Renamed to ...
        (MEMSET_VDUP_TO_VEC0_AND_SET_RETURN): This.
        (WMEMSET_VDUP_TO_VEC0_AND_SET_RETURN): New.
        (WMEMSET_SYMBOL): Likewise.
        * sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S: Updated.
        (WMEMSET_CHK_SYMBOL): New.
        (WMEMSET_CHK_SYMBOL (__wmemset_chk, unaligned)): Likewise.
        (WMEMSET_SYMBOL (__wmemset, unaligned)): Likewise.
        * sysdeps/x86_64/multiarch/memset.S (WMEMSET_SYMBOL): New.
        (libc_hidden_builtin_def): Also define __GI_wmemset and
        __GI___wmemset.
        (weak_alias): New.
        * sysdeps/x86_64/multiarch/wmemset.c: New file.
        * sysdeps/x86_64/multiarch/wmemset.h: Likewise.
        * sysdeps/x86_64/multiarch/wmemset_chk-nonshared.S: Likewise.
        * sysdeps/x86_64/multiarch/wmemset_chk.c: Likewise.
        * sysdeps/x86_64/wmemset.c: Likewise.
        * sysdeps/x86_64/wmemset_chk.c: Likewise.

commit 9cd30491dd6d9d4c5e9372d7a5c75f78f3a11260
Author: H.J. Lu <address@hidden>
Date:   Mon Jun 5 08:28:01 2017 -0700

    x86: Add macros to implement ifunce selection in C
    
    These macros are used to implement ifunc selection in C.  To implement
    an ifunc function, foo, which returns the address of __foo_sse2 or
    __foo_avx2:
    
       __foo_avx2:
    
       #define foo __redirect_foo
       #define __foo __redirect___foo
       #include <foo.h>
       #undef foo
       #undef __foo
       #define SYMBOL_NAME foo
       #include <init-arch.h>
    
       extern __typeof (REDIRECT_NAME) OPTIMIZE (sse2) attribute_hidden;
       extern __typeof (REDIRECT_NAME) OPTIMIZE (avx2) attribute_hidden;
    
       static inline void *
       foo_selector (void)
       {
         if (use AVX2)
          return OPTIMIZE (avx2);
    
         return OPTIMIZE (sse2);
       }
    
       libc_ifunc_redirected (__redirect_foo, foo, foo_selector ());
    
        * sysdeps/x86/init-arch.h (PASTER1): New.
        (EVALUATOR1): Likewise.
        (PASTER2): Likewise.
        (EVALUATOR2): Likewise.
        (REDIRECT_NAME): Likewise.
        (OPTIMIZE): Likewise.
        (IFUNC_SELECTOR): Likewise.

commit 30cb625a21bc7ad450fdc45d1f682e2b27c353de
Author: H.J. Lu <address@hidden>
Date:   Mon Jun 5 07:58:11 2017 -0700

    x86-64: Update strlen.S to support wcslen/wcsnlen
    
    The difference between strlen and wcslen is byte vs int.  We can
    replace pminub and pcmpeqb with pminud and pcmpeqd to turn strlen
    into wcslen.
    
        * sysdeps/x86_64/strlen.S (PMINU): New.
        (PCMPEQ): Likewise.
        (SHIFT_RETURN): Likewise.
        (FIND_ZERO): Replace pcmpeqb with PCMPEQ.
        (strlen): Add SHIFT_RETURN before ret.  Replace pcmpeqb and
        pminub with PCMPEQ and PMINU.
        * sysdeps/x86_64/wcsnlen.S: New file.

commit 7395928b957ebb35afb696c3278d14122aa97b51
Author: H.J. Lu <address@hidden>
Date:   Mon Jun 5 07:41:14 2017 -0700

    x86_64: Remove redundant REX bytes from memrchr.S
    
    By x86-64 specification, 32-bit destination registers are zero-extended
    to 64 bits.  There is no need to use 64-bit registers when only the lower
    32 bits are non-zero.  Also 2 instructions in:
    
        mov     %rdi, %rcx
        and     $15, %rcx
        jz      L(length_less16_offset0)
    
        mov     %rdi, %rcx              <<< redundant
        and     $15, %rcx               <<< redundant
    
    are redundant.
    
        * sysdeps/x86_64/memrchr.S (__memrchr): Use 32-bit registers for
        the lower 32 bits.  Remove redundant instructions.

commit d8a7d10324d9765fa62f42c1d94c5bf36b60d558
Author: H.J. Lu <address@hidden>
Date:   Mon Jun 5 07:21:44 2017 -0700

    x86-64: Update LO_HI_LONG for p{readv,writev}{64}v2
    
    The kernel interface for p{readv,writev}{64}v is
    
    (unsigned long fd, {const }struct iovec *iov, unsigned long vlen,
     unsigned long pos_l, unsigned long pos_h)
    
    Except for targets which define __ARCH_WANT_COMPAT_SYS_PREADV64 and
    __ARCH_WANT_COMPAT_SYS_PWRITEV64,
    
    (unsigned long fd, {const }struct iovec *iov, unsigned long vlen,
     off64_t pos)
    
    is used for p{readv,writev}{64}v.  X32 is the only such target.  The
    LO_HI_LONG macro is used to pass offset to the pos_l and pos_h pair.
    Since pos_h is ignored when size of offset == sizeof of pos_l, x86-64
    has
    
     #define LO_HI_LONG(val) (val)
    
    But the kernel interface for p{readv,writev}{64}v2 is
    
    (unsigned long fd, {const }struct iovec *iov, unsigned long vlen,
     unsigned long pos_l, unsigned long pos_h, int flags)
    
    Except for targets which define __ARCH_WANT_COMPAT_SYS_PREADV64V2 and
    __ARCH_WANT_COMPAT_SYS_PWRITEV64V2,
    
    (unsigned long fd, {const }struct iovec *iov, unsigned long vlen,
     off64_t pos, int flags)
    
    is used for p{readv,writev}{64}v2.  X32 is the only such target.  Update
    x86-64 LO_HI_LONG to pass 0 as the high part of the offset argument for
    p{readv,writev}{64}v2 and define a different LO_HI_LONG for x32 to only
    pass one argument for offset.
    
    Tested on x32 and x86-64.
    
        * sysdeps/unix/sysv/linux/x86_64/sysdep.h (LO_HI_LONG): Pass
        0 as the high part of offset.
        * sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h (LO_HI_LONG): New.

commit c4c96f92f76dbc03a04a0e5005bf0be6f8dd4138
Author: Joseph Myers <address@hidden>
Date:   Mon Jun 5 10:19:03 2017 +0000

    Define SIG_HOLD for XPG4 (bug 21538).
    
    Various bits/signum.h headers define SIG_HOLD if __USE_UNIX98.  That
    should be __USE_XOPEN, as this macro is in XPG4.  This patch fixes the
    conditionals accordingly.  Because of other header bugs, this does not
    allow any XFAILs to be removed (however, the XPG4/signal.h/conform
    XFAIL only depends on a few such straightforward header bugs, not on
    the more complicated to fix ucontext_t issues, as ucontext_t isn't
    included in signal.h in XPG4).
    
    Tested for x86_64.
    
        [BZ #21538]
        * bits/signum.h (SIG_HOLD): Define if [__USE_XOPEN], not
        [__USE_UNIX98].
        * sysdeps/unix/bsd/bits/signum.h (SIG_HOLD): Likewise.
        * sysdeps/unix/sysv/linux/alpha/bits/signum.h (SIG_HOLD):
        Likewise.
        * sysdeps/unix/sysv/linux/bits/signum.h (SIG_HOLD): Likewise.
        * sysdeps/unix/sysv/linux/hppa/bits/signum.h (SIG_HOLD): Likewise.
        * sysdeps/unix/sysv/linux/mips/bits/signum.h (SIG_HOLD): Likewise.
        * sysdeps/unix/sysv/linux/sparc/bits/signum.h (SIG_HOLD):
        Likewise.

commit 7553131847151d04d58a02300673f13d73861cbb
Author: Joseph Myers <address@hidden>
Date:   Mon Jun 5 10:17:46 2017 +0000

    Fix struct sigaltstack namespace (bug 21517).
    
    glibc defines the stack_t type with the tag struct sigaltstack.  This
    is not permitted by POSIX; sigaltstack is only reserved with file
    scope in the namespace of ordinary identifiers, not the tag namespace,
    and in the case where stack_t is obtained from ucontext.h rather than
    signal.h, it's not reserved with file scope at all.
    
    This patch removes the tag accordingly and updates uses in glibc of
    struct sigaltstack.  This is similar to the removal of the "struct
    siginfo" tag a few years ago: C++ name mangling changes are an
    unavoidable consequence.  A NEWS item is added to note the changed
    mangling.  There is inevitably some risk of breaking builds of
    anything that relies on the struct sigaltstack name (though the first
    few hits I looked at from codesearch.debian.net generally seemed to
    involve code that could use the stack_t name conditionally, so
    depending on how they determine the conditionals they may work with
    glibc not defining the struct tag anyway).
    
    Tested for x86_64 and x86, and with build-many-glibcs.py.
    
        [BZ #21517]
        * bits/types/stack_t.h (stack_t): Remove struct tag.
        * sysdeps/unix/sysv/linux/bits/types/stack_t.h (stack_t):
        Likewise.
        * sysdeps/unix/sysv/linux/mips/bits/types/stack_t.h (stack_t):
        Likewise.
        * debug/segfault.c (install_handler): Use stack_t instead of
        struct sigaltstack.
        * hurd/hurd/signal.h (struct hurd_sigstate): Likewise.
        * hurd/trampoline.c (_hurd_setup_sighandler): Likewise.
        * include/signal.h (__sigaltstack): Likwise.
        * signal/sigaltstack.c (__sigaltstack): Likewise.
        * signal/signal.h (sigaltstack): Likewise.
        * sysdeps/mach/hurd/i386/signal-defines.sym
        (SIGALTSTACK__SS_SP__OFFSET): Likewise.
        (SIGALTSTACK__SS_SIZE__OFFSET): Likewise.
        (SIGALTSTACK__SS_FLAGS__OFFSET): Likewise.
        * sysdeps/mach/hurd/sigaltstack.c (__sigaltstack): Likewise.
        * sysdeps/mach/hurd/sigstack.c (sigstack): Likewise.
        * sysdeps/unix/sysv/linux/alpha/sys/procfs.h (struct
        elf_prstatus): Likewise.
        * sysdeps/unix/sysv/linux/hppa/____longjmp_chk.c (CHECK_SP):
        Likewise.
        * sysdeps/unix/sysv/linux/ia64/sys/procfs.h (struct elf_prstatus):
        Likewise.
        * sysdeps/unix/sysv/linux/m68k/____longjmp_chk.c (CHECK_SP):
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h (struct
        elf_prstatus): Likewise.
        * sysdeps/unix/sysv/linux/sh/sys/procfs.h (struct elf_prstatus):
        Likewise.
        * sysdeps/unix/sysv/linux/sys/procfs.h (struct elf_prstatus):
        Likewise.

commit 8951dd0b148c260afde95ac7179e9067276ed6d7
Author: Zack Weinberg <address@hidden>
Date:   Sun Jun 4 15:27:14 2017 -0400

    Regenerate sysdeps/gnu/errlist.c.
    
    This file needs to be regenerated whenever errno.texi changes.

commit 6b69f98dcd34d63e507cae1d8bfe83ea8d597830
Author: H.J. Lu <address@hidden>
Date:   Sun Jun 4 09:44:48 2017 -0700

    benchtests: Add more tests for memrchr
    
    bench-memchr.c is shared with bench-memrchr.c.  This patch adds some
    tests for positions close to the beginning for memrchr, which are
    equivalent to positions close to the end for memchr.
    
        * benchtests/bench-memchr.c (do_test): Print out both length
        and position.
        (test_main): Also test the position close to the beginning for
        memrchr.

commit d36c52becb34101df18f410a9a2778def17fc6c8
Author: Zack Weinberg <address@hidden>
Date:   Sun Jun 4 11:34:14 2017 -0400

    Add forgotten changelog entry for 82f43dd2d1

commit 82f43dd2d11b5705ed5680f579f265781387a12d
Author: Zack Weinberg <address@hidden>
Date:   Sun Jun 4 11:14:43 2017 -0400

    Include shlib-compat.h in many sunrpc/nis source files.
    
    Every file that uses libc_hidden_nolink_sunrpc or
    libnsl_hidden_nolink_def needs to include shlib-compat.h.  Currently,
    most of them are getting it via stdio.h, because libio.h refers to
    SHLIB_COMPAT when _LIBC is defined, so it includes shlib-compat.h.  My
    experimental patch to not install libio.h breaks that chain; stdio.h
    no longer pulls in libio.h even for internal users.
    
    Accordingly, this patch adds #include <shlib-compat.h> to many files
    in sunrpc/ and nis/.  There are also a small number of really obvious
    fixups to includes that caught my eye while proofreading the patch -
    not including headers twice in a row, not worrying about portability
    to Ultrix anymore, sort of thing.
    
        * nis/nis_add.c, nis/nis_addmember.c, nis/nis_call.c
        * nis/nis_checkpoint.c, nis/nis_clone_dir.c, nis/nis_clone_obj.c
        * nis/nis_clone_res.c, nis/nis_creategroup.c, nis/nis_defaults.c
        * nis/nis_destroygroup.c, nis/nis_domain_of.c
        * nis/nis_domain_of_r.c, nis/nis_error.c, nis/nis_file.c
        * nis/nis_free.c, nis/nis_getservlist.c, nis/nis_ismember.c
        * nis/nis_local_names.c, nis/nis_lookup.c, nis/nis_mkdir.c
        * nis/nis_modify.c, nis/nis_ping.c, nis/nis_print.c
        * nis/nis_print_group_entry.c, nis/nis_remove.c
        * nis/nis_removemember.c, nis/nis_rmdir.c, nis/nis_server.c
        * nis/nis_subr.c, nis/nis_table.c, nis/nis_util.c
        * nis/nis_verifygroup.c, nis/nis_xdr.c, nis/yp_xdr.c
        * nis/ypclnt.c, nis/ypupdate_xdr.c, sunrpc/auth_des.c
        * sunrpc/auth_none.c, sunrpc/auth_unix.c, sunrpc/authdes_prot.c
        * sunrpc/authuxprot.c, sunrpc/clnt_gen.c, sunrpc/clnt_perr.c
        * sunrpc/clnt_raw.c, sunrpc/clnt_simp.c, sunrpc/clnt_tcp.c
        * sunrpc/clnt_udp.c, sunrpc/clnt_unix.c, sunrpc/des_crypt.c
        * sunrpc/des_soft.c, sunrpc/get_myaddr.c, sunrpc/key_call.c
        * sunrpc/key_prot.c, sunrpc/netname.c, sunrpc/pm_getmaps.c
        * sunrpc/pm_getport.c, sunrpc/pmap_clnt.c, sunrpc/pmap_prot.c
        * sunrpc/pmap_prot2.c, sunrpc/pmap_rmt.c, sunrpc/publickey.c
        * sunrpc/rpc_cmsg.c, sunrpc/rpc_dtable.c, sunrpc/rpc_prot.c
        * sunrpc/rpc_thread.c, sunrpc/rtime.c, sunrpc/svc.c
        * sunrpc/svc_auth.c, sunrpc/svc_raw.c, sunrpc/svc_run.c
        * sunrpc/svc_tcp.c, sunrpc/svc_udp.c, sunrpc/svc_unix.c
        * sunrpc/svcauth_des.c, sunrpc/xdr.c, sunrpc/xdr_array.c
        * sunrpc/xdr_float.c, sunrpc/xdr_intXX_t.c, sunrpc/xdr_mem.c
        * sunrpc/xdr_rec.c, sunrpc/xdr_ref.c, sunrpc/xdr_sizeof.c
        * sunrpc/xdr_stdio.c: Include shlib-compat.h.
    
        * sunrpc/des_crypt.c, sunrpc/des_soft.c: No need to include
        abi-versions.h as well as shlib-compat.h.
        * sunrpc/get_myaddr.c: Remove obsolete comment.
        * sunrpc/pmap_rmt.c: Remove obsolete comment and #undef.
        * sunrpc/rpc_thread.c: Include libc-lock.h only once.
        * resolv/res_libc.c: Include shlib-compat.h only once.

commit 363911ce1313a246b7d33f0983a09e7ab2525b3a
Author: Florian Weimer <address@hidden>
Date:   Sat Jun 3 08:37:13 2017 +0200

    getaddrinfo: Eliminate another strdup call

commit 808fd9e6fe23f96078d4e297de1131117d3898bb
Author: H.J. Lu <address@hidden>
Date:   Fri Jun 2 17:32:21 2017 -0700

    x86: Update __x86_shared_non_temporal_threshold
    
    __x86_shared_non_temporal_threshold was set to 6 times of per-core
    shared cache size, based on the large memcpy micro benchmark in glibc
    on a 8-core processor.  For a processor with more than 8 cores, the
    threshold is too low.  Set __x86_shared_non_temporal_threshold to the
    3/4 of the total shared cache size so that it is unchanged on 8-core
    processors.  On processors with less than 8 cores, the threshold is
    lower.
    
        * sysdeps/x86/cacheinfo.c (__x86_shared_non_temporal_threshold):
        Set to the 3/4 of the total shared cache size.

commit 3e6def237a5681387b27ac55298b3ab25a054dbf
Author: Rical Jasan <address@hidden>
Date:   Thu Jun 1 02:07:01 2017 -0700

    manual: Provide consistent errno documentation.
    
    The @errno macro is extended to render the canonical error string in
    every documented errno error.  Redundant entries and "???" are
    removed.  Sixty-six errors now at least contain the error string as
    the description, where no description (or "???") existed before.
    
        * manual/errno.texi: Remove redundant error strings.
        * manual/macros.texi (@errno): Render the error string in
        every description.

commit 9c65eec494676789bc4695561e229ce3ee33be84
Author: Joseph Myers <address@hidden>
Date:   Fri Jun 2 19:47:03 2017 +0000

    Fix sigevent namespace (bug 21543).
    
    signal.h defines the sigevent structure and constants if defined
    __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED.  The
    __USE_XOPEN_EXTENDED condition is incorrect; this structure does not
    appear in XSI standards before Unix98 (which implies
    __USE_POSIX199309).  This patch fixes the conditionals accordingly
    (the existing conditional is correct for siginfo_t, just not for
    sigevent).
    
    Tested for x86_64.  This does not allow any conform/ XFAILs to be
    removed because of other signal.h namespace bugs.
    
        [BZ #21543]
        * signal/signal.h: Only include <bits/types/sigevent_t.h> and
        <bits/sigevent-consts.h> if [__USE_POSIX199309], not if
        [__USE_XOPEN_EXTENDED].

commit 6257fcfd58479f6b7ae0fdde045b9ff144d543da
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 2 16:35:13 2017 +0200

    getaddrinfo: Fix localplt failure involving strdup

commit ca4b396ebebf8869e199268edbb5808bb5488c50
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Jun 2 10:58:53 2017 -0300

    posix: Add missing build flags for p{write,read}v2
    
    This patch adds the missing compiler flags for correct pthread cancellation
    on some architectures for the p{read,write}v2 implementation 
(52bd9381692fd23).
    
    Checked on x86_64-linux-gnu and powerpc64le-linux-gnu.
    
        * misc/Makefile (CFLAGS-preadv2.c): New rule.
        (CFLAGS-preadv64v2.c): Likewise.
        (CFLAGS-pwritev2.c): Likewise.
        (CFLAGS-pwritev64v2.c): Likewise.

commit 2714c5f3c95f90977167c1d21326d907fb76b419
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 2 15:50:36 2017 +0200

    resolv: Tests for various versions of res_init

commit 673cb072a4710bd4bf6029a062d2867cca929c43
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 2 14:54:56 2017 +0200

    getaddrinfo: Always allocate canonical name on the heap
    
    A further simplification could eliminate the canon variable in
    gaih_inet and replace it with canonbuf.  However, canonbuf is
    used as a flag in the nscd code, which makes this somewhat
    non-straightforward.

commit 91b6eb1140eda6bab324821ee3785e5d0ca155b8
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 2 11:59:28 2017 +0200

    Add internal facility for dynamic array handling
    
    This is intended as a type-safe alternative to obstacks and
    hand-written realloc constructs.  The implementation avoids
    writing function pointers to the heap.

commit 09103e40252454e906a0b8543a142fc96b4c17c1
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Fri May 26 19:29:20 2017 -0300

    Include sys/param.h in stdlib/gmp-impl.h instead of redefining MAX/MIN
    
    In stdlib/gmp-impl.h, the macros MAX and MIN are defined exactly the same
    as in sys/param.h.  This patch removes the redefinition and makes
    gmp-impl.h include sys/param.h instead.
    
    Tested for powerpc64le and s390x.
    
        * stdlib/gmp-impl.h: Include sys/param.h instead of redefining the
        macros MAX and MIN.

commit 6da85a0daf65a407f942622e23fc20b37b80168c
Author: Joseph Myers <address@hidden>
Date:   Thu Jun 1 17:17:43 2017 +0000

    conformtest: Correct signal.h expectations for XPG4 / XPG42.
    
    Various of the signal.h conform/ failures for XPG4 and XPG42 are
    actually the result of incorrect test expectations rather than header
    bugs.  This patch fixes the expectations to accord with those
    standards (this does not however allow any XFAILs to be removed, as
    some header bugs remain).  Note for anyone comparing with the
    standards: corrigendum U013/16 removes the mention of a sigmask
    function in signal.h (C435 lists such a function in the definition of
    signal.h, but without any actual specification for the function
    itself), so sigmask is not included in the expectations.
    
    Tested for x86_64.
    
        * conform/data/signal.h-data (sa_sigaction): Do not expect for
        [XPG4].
        (SA_SIGINFO): Likewise.
        (SA_ONSTACK): Likewise.
        (SA_RESETHAND): Likewise.
        (SA_RESTART): Likewise.
        (SA_NOCLDWAIT): Likewise.
        (SA_NODEFER): Likewise.
        (SS_ONSTACK): Likewise.
        (SS_DISABLE): Likewise.
        (MINSIGSTKSZ): Likewise.
        (SIGSTKSZ): Likewise.
        (ucontext_t): Likewise.
        (stack_t): Likewise.
        (struct sigstack): Likewise.
        (SI_USER): Do not expect for [XPG4 || XPG42].
        (SI_QUEUE): Likewise.
        (SI_TIMER): Likewise.
        (SI_ASYNCIO): Likewise.
        (SI_MESGQ): Likewise.
        (bsd_signal): Do not expect for [XPG4].
        (killpg): Likewise.
        (sigaltstack): Likewise.
        (sighold): Likewise.
        (sigignore): Likewise.
        (siginterrupt): Likewise.
        (sigpause): Likewise.
        (sigrelse): Likewise.
        (sigset): Likewise.
        (sigwait): Do not expect for [XPG4 || XPG42].

commit 72b81552a1239f91054ae0c8469e6d780f79a890
Author: Zack Weinberg <address@hidden>
Date:   Thu Jun 1 10:56:10 2017 -0400

    Add shim header for bits/syscall.h.
    
    On Linux-based configurations, bits/syscall.h is a generated file.
    To avoid build-ordering problems, the Linux sys/syscall.h only includes
    bits/syscall.h if _LIBC is not defined.  After the _ISOMAC-testsuite
    changes, this means any test case that includes sys/syscall.h tries to
    pull in bits/syscall.h.  This would be fine, because it'll definitely
    have been generated by the time we start compiling tests, except that
    the generated <builddir>/misc/bits/syscall.h is not visible in the
    include path, because nothing needed it till now.  So we either get
    the bits/syscall.h from the host system, or the build fails.
    
    The fix is simple: add a shim header for bits/syscall.h.  I put it in
    sysdeps/unix/sysv/linux/include instead of the top-level include/
    because bits/syscall.h doesn't exist at all on other configurations as
    far as I can tell.
    
    This is known to affect nptl/tst-cond2[45].  Thanks to John David
    Anglin for noticing the problem.
    
        [BZ #21514]
        * sysdeps/unix/sysv/linux/include/bits/syscall.h: New shim header
        pointing to the generated file in <builddir>/misc/bits/syscall.h.

commit 139904b7e454b1232dc7807dd613682d107daab1
Author: Joseph Myers <address@hidden>
Date:   Thu Jun 1 14:07:40 2017 +0000

    Fix more namespace issues in sys/ucontext.h (bug 21457).
    
    Continuing the fixes for namespace issues in sys/ucontext.h, this
    patch moves various symbols into the implementation namespace in the
    absence of __USE_MISC.  As with previous changes, it is nonexhaustive,
    just covering more straightforward cases.
    
    Structure fields are generally changed to have a prefix __ in the
    absence of __USE_MISC, via a macro __ctx (used without a space before
    the open parenthesis, since the result is a single identifier).
    Various macros such as NGREG also have leading __ added.  No changes
    are made to structure tags (and thus to C++ name mangling), except
    that in the (unused) file sysdeps/i386/sys/ucontext.h, structures
    defined inside other structures as the type for a field have their
    tags removed in the non-__USE_MISC case (those structure tags would
    not in any case have been visible in C++, because in C++ the scope of
    such a tag is limited to the containing structure).  No changes are
    made to the contents of bits/sigcontext.h, or to whether it is
    included.  Because of remaining namespace issues, this patch does not
    yet fix the bug or allow any XFAILs to be removed.
    
    Tested for x86_64 and x86, and with build-many-glibcs.py.
    
        [BZ #21457]
        * sysdeps/arm/sys/ucontext.h (NGREG): Rename to __NGREG and define
        NGREG to __NGREG if [__USE_MISC].
        (gregset_t): Define using __NGREG.
        (__ctx): New macro.
        (mcontext_t): Use __ctx in defining fields.
        * sysdeps/i386/sys/ucontext.h (NGREG): Rename to __NGREG and
        define NGREG to __NGREG if [__USE_MISC].
        (gregset_t): Define using __NGREG.
        (__ctx): New macro.
        (__ctxt): Likewise.
        (fpregset_t): Use __ctx and __ctxt in defining fields.
        (mcontext_t): Likewise.
        * sysdeps/m68k/sys/ucontext.h (NGREG): Rename to __NGREG and
        define NGREG to __NGREG if [__USE_MISC].
        (gregset_t): Define using __NGREG.
        (__ctx): New macro.
        (mcontext_t): Use __ctx in defining fields.
        * sysdeps/mips/sys/ucontext.h (NGREG): Rename to __NGREG and
        define NGREG to __NGREG if [__USE_MISC].
        (gregset_t): Define using __NGREG.
        (__ctx): New macro.
        (fpregset_t): Use __ctx in defining fields.
        (mcontext_t): Likewise.
        * sysdeps/unix/sysv/linux/alpha/sys/ucontext.h (NGREG): Rename to
        __NGREG and define NGREG to __NGREG if [__USE_MISC].
        (gregset_t): Define using __NGREG.
        (NFPREG): Rename to __NFPREG and define NFPREG to __NFPREG if
        [__USE_MISC].
        (fpregset_t): Define using __NFPREG.
        * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (NGREG): Rename to
        __NGREG and define NGREG to __NGREG if [__USE_MISC].
        (gregset_t): Define using __NGREG.
        (__ctx): New macro.
        (fpregset_t): Use __ctx in defining fields.
        (mcontext_t): Likewise.
        * sysdeps/unix/sysv/linux/mips/sys/ucontext.h (NGREG): Rename to
        __NGREG and define NGREG to __NGREG if [__USE_MISC].
        (NFPREG): Rename to __NFPREG and define NFPREG to __NFPREG if
        [__USE_MISC].
        (gregset_t): Define using __NGREG.
        (__ctx): New macro.
        (fpregset_t): Use __ctx in defining fields.
        (mcontext_t): Likewise.
        * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h (__ctx): New macro.
        (mcontext_t): Use __ctx in defining fields.
        * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (__ctx): New
        macro.
        [__WORDSIZE == 32] (NGREG): Rename to __NGREG and define NGREG to
        __NGREG if [__USE_MISC].
        [__WORDSIZE == 32] (gregset_t): Define using __NGREG.
        [__WORDSIZE == 32] (fpregset_t): Use __ctx in defining fields.
        (mcontext_t): Likewise.
        [__WORDSIZE != 32] (NGREG): Rename to __NGREG and define NGREG to
        __NGREG if [__USE_MISC].
        [__WORDSIZE != 32] (NFPREG): Rename to __NFPREG and define NFPREG
        to __NFPREG if [__USE_MISC].
        [__WORDSIZE != 32] (NVRREG): Rename to __NVRREG and define NVRREG
        to __NVRREG if [__USE_MISC].
        [__WORDSIZE != 32] (gregset_t): Define using __NGREG.
        [__WORDSIZE != 32] (fpregset_t): Define using __NFPREG.
        [__WORDSIZE != 32] (vscr_t): Use __ctx in defining fields.
        [__WORDSIZE != 32] (vrregset_t): Likewise.
        [__WORDSIZE != 32] (mcontext_t): Likewise.
        * sysdeps/unix/sysv/linux/s390/sys/ucontext.h (__ctx): New macro.
        (__psw_t): Use __ctx in defining fields.
        (NGREG): Rename to __NGREG and define NGREG to __NGREG if
        [__USE_MISC].
        (gregset_t): Define using __NGREG.
        (fpreg_t): Use __ctx in defining fields.
        (fpregset_t): Likewise.
        (mcontext_t): Likewise.
        * sysdeps/unix/sysv/linux/sh/sys/ucontext.h (NGREG): Rename to
        __NGREG and define NGREG to __NGREG if [__USE_MISC].
        (gregset_t): Define using __NGREG.
        (NFPREG): Rename to __NFPREG and define NFPREG to __NFPREG if
        [__USE_MISC].
        (fpregset_t): Define using __NFPREG.
        (__ctx): New macro.
        (mcontext_t): Use __ctx in defining fields.
        * sysdeps/unix/sysv/linux/x86/sys/ucontext.h (__ctx): New macro.
        [__x86_64__] (NGREG): Rename to __NGREG and define NGREG to
        __NGREG if [__USE_MISC].
        [__x86_64__] (gregset_t): Define using __NGREG.
        [__x86_64__] (struct _libc_fpxreg): Use __ctx in defining fields.
        [__x86_64__] (struct _libc_fpstate): Likewise.
        [__x86_64__] (mcontext_t): Likewise.
        [!__x86_64__] (NGREG): Rename to __NGREG and define NGREG to
        __NGREG if [__USE_MISC].
        [!__x86_64__] (gregset_t): Define using __NGREG.
        [!__x86_64__] (struct _libc_fpreg): Use __ctx in defining fields.
        [!__x86_64__] (struct _libc_fpstate): Likewise.
        [!__x86_64__] (mcontext_t): Likewise.

commit 491bb0858e2d7edc36ced616e846803671d8db75
Author: Zack Weinberg <address@hidden>
Date:   Tue May 30 21:05:04 2017 -0400

    Avoid tickling a linker bug from microblaze pt-vfork.S.
    
    libpthread used to have its own vfork implementation that differed
    from libc's only in having a pointless micro-optimization.  There is
    no longer any use to having a separate copy in libpthread, but the
    historical ABI requires a compatibility shim.  microblaze was trying
    to be slightly too clever about how it did this, and tickled a linker
    bug.  The linker bug should get fixed eventually, but there's no
    reason for us to keep tickling it in the meantime.
    
    This doesn't reuse the generic pt-vfork.c because microblaze doesn't
    have IFUNC support yet, and it doesn't reuse aarch64/pt-vfork.c
    because that fails to generate a tailcall (with GCC 7.1.1).
    
        * sysdeps/unix/sysv/linux/microblaze/pt-vfork.S: Don't include
        alpha/pt-vfork.S.  Provide own compat shim for vfork and __vfork.
        * sysdeps/unix/sysv/linux/microblaze/vfork.S: Add __libc_vfork alias.
        * sysdeps/unix/sysv/linux/microblaze/localplt.data:
        libpthread.so no longer references __errno_location.

commit 52bd9381692fd23df859fd0e564af247b1571557
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Apr 25 16:43:27 2017 -0300

    posix: Implement preadv2 and pwritev2
    
    This patch adds support of preadv2 and pwritev2 which are similar to
    preadv/pwritev but with an extra flag argument.  As for preadv/pwritev
    both interfaces are added a non-standard GNU API.
    
    For default 'posix' implementation trying to emulate the Linux supported
    flags is troublesome:
    
       * We can not temporary change the file state of the O_DSYNC and O_SYNC
         flags to emulate RWF_{D}SYNC (attempts to change the state of using
         fcntl are silently ignored).
    
       * IOCB_HIPRI requires the file opened in O_DIRECT and uses an internal
         semantic not provided by any other flag (O_NONBLOCK for instance).
    
    So default sysdeps/posix implementations fails with EOPNOTSUPP for any non
    supported flag (which are none currently) calls generic preadv/pwritev.
    Basically this implementation supports only preadv2 called as preadv (with
    flags sets to 0).
    
    The Linux one uses the preadv2/pwritev2 syscall if defined, otherwise it
    call preadv/writev.  Instead of using the previous __ASSUME_* to
    unconditionally issue the syscall (and avoid building the fallback routine),
    it call pread/write if the preadv2/pwritev2 syscalls fails.  The idea
    is just avoid adding another __ASSUME_* and checking each architecture
    on every kernel bump and simplify code conditionals.
    
    Checked on x86_64-linux-gnu and on i686-linux-gnu and a check with
    run-built-tests=no on aarch64-linux-gnu, alpha-linux-gnu, 
arm-linux-gnueabihf,
    ia64-linux-gnu, m68k-linux-gnu, microblaze-linux-gnu, 
mips{64,64n32}-linux-gnu,
    nios2-linux-gnu, powerpc{64,64le}-linux-gnu, s390{x}-linux-gnu,
    sparc{64,v9}-linux-gnu, tile{gx,pro}-linux-gnu, and sh4-linux-gnu (all using
    gcc 6.3).
    
        * NEWS: Add note about pwritev2 and preadv2 inclusion.
        * misc/Makefile (routines): Add preadv2, preadv64v2, pwritev2, and
        pwritev64v2.
        (tests): Add tst-preadvwritev2 and tst-preadvwritev64v2.
        * misc/Versions (GLIBC_2.26): Add preadv2, preadv64v2, pwritev2, and
        pwritev64v2.
        * misc/preadv2.c: New file.
        * misc/preadv64v2.c: Likewise.
        * misc/pwritev2.c: Likewise.
        * misc/pwritev64v2.c: Likewise.
        * misc/tst-preadvwritev2.c: Likewise.
        * misc/tst-preadvwritev64v2.c: Likewise.
        * manual/llio.texi: Add preadv2 and pwritev2 documentation.
        * misc/sys/uio.h [__USE_GNU && !__USE_FILE_OFFSET64] (preadv2): New
        prototype.
        [__USE_GNU && !__USE_FILE_OFFSET64] (pwritev2): Likewise.
        [__USE_GNU && __USE_FILE_OFFSET64] (preadv64v2): Likewise.
        [__USE_GNU && __USE_FILE_OFFSET64] (pwritev64v2): Likewise.
        * misc/tst-preadvwritev-common.c (PREADV): Define if not defined.
        (PWRITEV): Likewise.
        (do_test_with_offset): Use PREADV and PWRITEV macros and check for
        ENOSYS.
        * nptl/tst-cancel4.c (tf_pwritev2): New test.
        (tf_preadv2): Likewise.
        (tf_fsync): Add tf_pwritev2 and tf_preadv2.
        * sysdeps/posix/preadv2.c: Likewise.
        * sysdeps/posix/preadv64v2.c: Likewise.
        * sysdeps/posix/pwritev2.c: Likewise.
        * sysdeps/posix/pwritev64v2.c: Likewise.
        * sysdeps/unix/sysv/linux/kernel-features.h: Add comment for syscall
        support in kernel.
        * sysdeps/unix/sysv/linux/preadv2.c: Likewise.
        * sysdeps/unix/sysv/linux/preadv64v2.c: Likewise.
        * sysdeps/unix/sysv/linux/pwritev2.c: Likewise.
        * sysdeps/unix/sysv/linux/pwritev64v2.c: Likewise.
        * sysdeps/unix/sysv/linux/preadv.c (preadv): Add libc_hidden_def.
        * sysdeps/unix/sysv/linux/preadv64.c (preadv64): Likewise.
        * sysdeps/unix/sysv/linux/pwritev.c (pwritev): Likewise.
        * sysdeps/unix/sysv/linux/pwritev64.c (pwritev64): Likewise.
        * sysdeps/unix/sysv/linux/bits/uio.h: Add supported preadv2/pwritev2
        support flags on Linux.
        * sysdeps/unix/sysv/linux/aarch64/libc.abilist (GLIBC_2.26): Add
        preadv2, preadv64v2, pwritev2, pwritev64v2.
        * sysdeps/unix/sysv/linux/alpha/libc.abilist (GLIBC_2.26): Likewise.
        * sysdeps/unix/sysv/linux/arm/libc.abilist (GLIBC_2.26): Likewise.
        * sysdeps/unix/sysv/linux/hppa/libc.abilist (GLIBC_2.26): Likewise.
        * sysdeps/unix/sysv/linux/i386/libc.abilist (GLIBC_2.26): Likewise.
        * sysdeps/unix/sysv/linux/ia64/libc.abilist (GLIBC_2.26): Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist (GLIBC_2.26):
        Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist (GLIBC_2.26):
        Likewise.
        * sysdeps/unix/sysv/linux/microblaze/libc.abilist (GLIBC_2.26):
        Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist (GLIBC_2.26):
        Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist (GLIBC_2.26):
        Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist (GLIBC_2.26):
        Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist (GLIBC_2.26):
        Likewise.
        * sysdeps/unix/sysv/linux/nios2/libc.abilist (GLIBC_2.26): Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
        (GLIBC_2.26): Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
        (GLIBC_2.26): Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist (GLIBC_2.26):
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist
        (GLIBC_2.26): Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist (GLIBC_2.26):
        Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist (GLIBC_2.26):
        Likewise.
        * sysdeps/unix/sysv/linux/sh/libc.abilist (GLIBC_2.26): Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist (GLIBC_2.26):
        Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist (GLIBC_2.26):
        Likewise.
        * sysdeps/sysv/linux/tile/tilegx/tilegx32/libc.abilist (GLIBC_2.26):
        Likewise.
        * sysdeps/sysv/linux/tile/tilegx/tilegx64/libc.abilist (GLIBC_2.26):
        Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist (GLIBC_2.26):
        Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist (GLIBC_2.26):
        Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist (GLIBC_2.26):
        Likewise.

commit cfa9bb61cd09c40def96f042a3123ec0093c4ad0
Author: Andreas Schwab <address@hidden>
Date:   Thu May 18 18:08:06 2017 +0200

    Use test-driver in nptl/tst-fork3.c

commit 4158ba082c641f407009363b186b4c85f8a01a35
Author: Siddhesh Poyarekar <address@hidden>
Date:   Wed May 31 06:38:32 2017 +0530

    Delay initialization of CPU features struct in static binaries
    
    Allow the CPU features structure set up to be overridden by tunables
    by delaying it to until after tunables are initialized.  The
    initialization is already delayed in dynamically linked glibc, it is
    only in static binaries that the initialization is set early to allow
    it to influence IFUNC relocations that happen in libc-start.  It is a
    bit too early however and there is a good place between tunables
    initialization and IFUNC relocations where this can be done.
    
    Verified that this does not regress the testsuite.
    
        * csu/libc-start.c [!ARCH_INIT_CPU_FEATURES]: Define
        ARCH_INIT_CPU_FEATURES.
        (LIBC_START_MAIN): Call it.
        * sysdeps/unix/sysv/linux/aarch64/libc-start.c
        (__libc_start_main): Remove.
        (ARCH_INIT_CPU_FEATURES): New macro.
        * sysdeps/x86/libc-start.c (__libc_start_main): Remove.
        (ARCH_INIT_CPU_FEATURES): New macro.

commit 2e0bbbfbf95fc9e22692e93658a6fbdd2d4554da
Author: Dennis Wölfing <address@hidden>
Date:   Tue May 30 18:26:19 2017 -0300

    Add reallocarray function
    
    The reallocarray function is an extension from OpenBSD.  It is an
    integer-overflow-safe replacement for realloc(p, X*Y) and
    malloc(X*Y) (realloc(NULL, X*Y)).  It can therefore help in preventing
    certain security issues in code.
    
    This is an updated version of a patch originally submitted by Rüdiger
    Sonderfeld in May 2014 [1].
    
    Checked on i686-linux-gnu and x86_64-linux-gnu.
    
    [1] <https://sourceware.org/ml/libc-alpha/2014-05/msg00481.html>.
    
    2017-05-30  Dennis Wölfing  <address@hidden>
                Rüdiger Sonderfeld  <address@hidden>
    
        * include/stdlib.h (__libc_reallocarray): New declaration.
        * malloc/Makefile (routines): Add reallocarray.
        (tests): Add tst-reallocarray.c.
        * malloc/Versions: Add reallocarray and __libc_reallocarray.
        * malloc/malloc-internal.h (check_mul_overflow_size_t): New inline
        function.
        * malloc/malloc.h (reallocarray): New declaration.
        * stdlib/stdlib.h (reallocarray): Likewise.
        * malloc/reallocarray.c: New file.
        * malloc/tst-reallocarray.c: New test file.
        * manual/memory.texi: Document reallocarray.
        * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Add reallocarray.
        * 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/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/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/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/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 4f26ef1b67287d1f2c32865f7d79c13abda81915
Author: H.J. Lu <address@hidden>
Date:   Tue May 30 12:39:14 2017 -0700

    x86_64: Remove redundant REX bytes from memchr.S
    
    By x86-64 specification, 32-bit destination registers are zero-extended
    to 64 bits.  There is no need to use 64-bit registers when only the lower
    32 bits are non-zero.
    
        * sysdeps/x86_64/memchr.S (MEMCHR): Use 32-bit registers for
        the lower 32 bits.

commit 542a34783ce1cfc63929ec50ab1f9f738711b815
Author: Andreas Schwab <address@hidden>
Date:   Sun May 28 23:55:46 2017 +0200

    m68k: handle default PIE

commit acf6d579e0ebb1644417b6a7894ebe6794ec7667
Author: H.J. Lu <address@hidden>
Date:   Thu May 25 11:36:53 2017 -0700

    Add memchr tests for n == 0
    
        * string/test-memchr.c (test_main): Add tests for n == 0.

commit 6e75b0110d39be39131e9b458c256521df1eb657
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Thu May 25 14:53:40 2017 -0300

    Move tst-mutex*8* to tests-internal
    
    The following tests depend on ENABLE_LOCK_ELISION, which is only
    available on tests-internal.
    
     - nptl/tst-mutex8
     - nptl/tst-mutex8-static
     - nptl/tst-mutexpi8
     - nptl/tst-mutexpi8-static
    
        * nptl/Makefile (tests): Move nptl/tst-mutex8, nptl/tst-mutex8-static,
        nptl/tst-mutexpi8 and nptl/tst-mutexpi8-static to...
        (tests-internal): ... here.

commit 81efada5287c3215307623e57d3bbbeefa0c1250
Author: H.J. Lu <address@hidden>
Date:   Thu May 25 06:55:42 2017 -0700

    Make __tunables_init hidden and avoid PLT
    
    Since __tunables_init is internal to ld.so, we should mark it hidden
    to avoid PLT.  We should also avoid PLT when calling __tunable_set_val
    within ld.so.
    
    2017-05-25   Siddhesh Poyarekar  <address@hidden>
             H.J. Lu  <address@hidden>
    
        * elf/dl-tunables.c (__tunable_set_val): Make a hidden alias.
        * elf/dl-tunables.h (__tunables_init): Mark it hidden in rtld.
        (__tunable_set_val): Likewise.

commit ee8015b9ea084d5727ce477fdd8d935f1de7f7f6
Author: H.J. Lu <address@hidden>
Date:   Thu May 25 05:41:05 2017 -0700

    Support dl-tunables.list in subdirectories
    
    We can put processor specific tunables in dl-tunables.list under
    sysdeps instead of in elf/dl-tunables.list.
    
        * Makeconfig ($(common-objpfx)dl-tunable-list.h): Also check
        dl-tunables.list in subdirectories.

commit 302bb1a3c327d546b19447d7304bb2b27e9a34de
Author: Paul E. Murphy <address@hidden>
Date:   Mon Aug 8 15:49:31 2016 -0500

    float128: Add wrappers to override ldbl-128 as float128.
    
    This change defines float128_private.h which contains
    macros used to override long double naming conventions
    when building a ldbl file.
    
        * math/math.h [__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)]
        (SNANF128): New macro.
        * math/e_sqrtf128.c: New file.
        * math/s_fmaxmag_template.c: Include math_private.h in order to
        make inline expansion of fabs128().
        * math/s_fminmag_template.c: Likewise.
    
        * sysdeps/ieee754/float128/e_acosf128.c: New file.
        * sysdeps/ieee754/float128/e_acoshf128.c: New file.
        * sysdeps/ieee754/float128/e_asinf128.c: New file.
        * sysdeps/ieee754/float128/e_atan2f128.c: New file.
        * sysdeps/ieee754/float128/e_atanhf128.c: New file.
        * sysdeps/ieee754/float128/e_coshf128.c: New file.
        * sysdeps/ieee754/float128/e_exp10f128.c: New file.
        * sysdeps/ieee754/float128/e_expf128.c: New file.
        * sysdeps/ieee754/float128/e_fmodf128.c: New file.
        * sysdeps/ieee754/float128/e_gammaf128_r.c: New file.
        * sysdeps/ieee754/float128/e_hypotf128.c: New file.
        * sysdeps/ieee754/float128/e_ilogbf128.c: New file.
        * sysdeps/ieee754/float128/e_j0f128.c: New file.
        * sysdeps/ieee754/float128/e_j1f128.c: New file.
        * sysdeps/ieee754/float128/e_jnf128.c: New file.
        * sysdeps/ieee754/float128/e_lgammaf128_r.c: New file.
        * sysdeps/ieee754/float128/e_log10f128.c: New file.
        * sysdeps/ieee754/float128/e_log2f128.c: New file.
        * sysdeps/ieee754/float128/e_logf128.c: New file.
        * sysdeps/ieee754/float128/e_powf128.c: New file.
        * sysdeps/ieee754/float128/e_rem_pio2f128.c: New file.
        * sysdeps/ieee754/float128/e_remainderf128.c: New file.
        * sysdeps/ieee754/float128/e_scalbf128.c: New file.
        * sysdeps/ieee754/float128/e_sinhf128.c: New file.
        * sysdeps/ieee754/float128/float128_private.h: New file.
        * sysdeps/ieee754/float128/gamma_productf128.c: New file.
        * sysdeps/ieee754/float128/ieee754_float128.h: New file.
        * sysdeps/ieee754/float128/k_cosf128.c: New file.
        * sysdeps/ieee754/float128/k_sincosf128.c: New file.
        * sysdeps/ieee754/float128/k_sinf128.c: New file.
        * sysdeps/ieee754/float128/k_tanf128.c: New file.
        * sysdeps/ieee754/float128/lgamma_negf128.c: New file.
        * sysdeps/ieee754/float128/lgamma_productf128.c: New file.
        * sysdeps/ieee754/float128/s_asinhf128.c: New file.
        * sysdeps/ieee754/float128/s_atanf128.c: New file.
        * sysdeps/ieee754/float128/s_cbrtf128.c: New file.
        * sysdeps/ieee754/float128/s_ceilf128.c: New file.
        * sysdeps/ieee754/float128/s_copysignf128.c: New file.
        * sysdeps/ieee754/float128/s_cosf128.c: New file.
        * sysdeps/ieee754/float128/s_erff128.c: New file.
        * sysdeps/ieee754/float128/s_expm1f128.c: New file.
        * sysdeps/ieee754/float128/s_fabsf128.c: New file.
        * sysdeps/ieee754/float128/s_finitef128.c: New file.
        * sysdeps/ieee754/float128/s_floorf128.c: New file.
        * sysdeps/ieee754/float128/s_fmaf128.c: New file.
        * sysdeps/ieee754/float128/s_fpclassifyf128.c: New file.
        * sysdeps/ieee754/float128/s_frexpf128.c: New file.
        * sysdeps/ieee754/float128/s_fromfpf128.c: New file.
        * sysdeps/ieee754/float128/s_fromfpxf128.c: New file.
        * sysdeps/ieee754/float128/s_getpayloadf128.c: New file.
        * sysdeps/ieee754/float128/s_isinff128.c: New file.
        * sysdeps/ieee754/float128/s_isnanf128.c: New file.
        * sysdeps/ieee754/float128/s_issignalingf128.c: New file.
        * sysdeps/ieee754/float128/s_llrintf128.c: New file.
        * sysdeps/ieee754/float128/s_llroundf128.c: New file.
        * sysdeps/ieee754/float128/s_log1pf128.c: New file.
        * sysdeps/ieee754/float128/s_logbf128.c: New file.
        * sysdeps/ieee754/float128/s_lrintf128.c: New file.
        * sysdeps/ieee754/float128/s_lroundf128.c: New file.
        * sysdeps/ieee754/float128/s_modff128.c: New file.
        * sysdeps/ieee754/float128/s_nearbyintf128.c: New file.
        * sysdeps/ieee754/float128/s_nextafterf128.c: New file.
        * sysdeps/ieee754/float128/s_nexttowardf128.c: New file.
        * sysdeps/ieee754/float128/s_nextupf128.c: New file.
        * sysdeps/ieee754/float128/s_remquof128.c: New file.
        * sysdeps/ieee754/float128/s_rintf128.c: New file.
        * sysdeps/ieee754/float128/s_roundevenf128.c: New file.
        * sysdeps/ieee754/float128/s_roundf128.c: New file.
        * sysdeps/ieee754/float128/s_scalblnf128.c: New file.
        * sysdeps/ieee754/float128/s_scalbnf128.c: New file.
        * sysdeps/ieee754/float128/s_setpayloadf128.c: New file.
        * sysdeps/ieee754/float128/s_setpayloadsigf128.c: New file.
        * sysdeps/ieee754/float128/s_signbitf128.c: New file.
        * sysdeps/ieee754/float128/s_significandf128.c: New file.
        * sysdeps/ieee754/float128/s_sincosf128.c: New file.
        * sysdeps/ieee754/float128/s_sinf128.c: New file.
        * sysdeps/ieee754/float128/s_tanf128.c: New file.
        * sysdeps/ieee754/float128/s_tanhf128.c: New file.
        * sysdeps/ieee754/float128/s_totalorderf128.c: New file.
        * sysdeps/ieee754/float128/s_totalordermagf128.c: New file.
        * sysdeps/ieee754/float128/s_truncf128.c: New file.
        * sysdeps/ieee754/float128/s_ufromfpf128.c: New file.
        * sysdeps/ieee754/float128/s_ufromfpxf128.c: New file.
        * sysdeps/ieee754/float128/t_sincosf128.c: New file.
        * sysdeps/ieee754/float128/x2y2m1f128.c: New file.
    
        * sysdeps/ieee754/ldbl-128ibm/bits/iscanonical.h:
        (__iscanonicalf128): Define as a macro.

commit 6a2c695266fab34cc057256d1b33d2268183f00e
Author: Steve Ellcey <address@hidden>
Date:   Wed May 24 16:46:48 2017 -0700

    aarch64: Thunderx specific memcpy and memmove
    
        * sysdeps/aarch64/memcpy.S (MEMMOVE, MEMCPY): New macros.
        (memmove): Use MEMMOVE for name.
        (memcpy): Use MEMCPY for name.  Change internal labels
        to external labels.
        * sysdeps/aarch64/multiarch/Makefile: New file.
        * sysdeps/aarch64/multiarch/ifunc-impl-list.c: Likewise.
        * sysdeps/aarch64/multiarch/init-arch.h: Likewise.
        * sysdeps/aarch64/multiarch/memcpy.c: Likewise.
        * sysdeps/aarch64/multiarch/memcpy_generic.S: Likewise.
        * sysdeps/aarch64/multiarch/memcpy_thunderx.S: Likewise.
        * sysdeps/aarch64/multiarch/memmove.c: Likewise.

commit 6edbe546d6ac243a5e3c2610853f2da53f0507b4
Author: Siddhesh Poyarekar <address@hidden>
Date:   Wed May 24 22:26:36 2017 +0530

    arm: Fix typo in array count
    
    I just noticed that the array count for the hwcap flags list in ARM is
    off by 10, i.e. 37 instead of 27.  Following patch fixes this.
    
        * sysdeps/unix/sysv/linux/arm/dl-procinfo.c
        (_dl_arm_cap_flags): Fix array subscript.
        * sysdeps/unix/sysv/linux/arm/dl-procinfo.h (_DL_HWCAP_COUNT):
        Fix count.

commit 9c450f6f6f0e2089b780d0510ae6153740fc7d1d
Author: H.J. Lu <address@hidden>
Date:   Wed May 24 06:31:16 2017 -0700

    x86: Don't include cacheinfo.c in ld.so
    
    Since cacheinfo.c isn't used by ld.so, there is no need to include it
    in ld.so.
    
        * sysdeps/x86/cacheinfo.c: Skip if not in libc.

commit 7c1d722554dc3422295a36da631e03503b676935
Author: H.J. Lu <address@hidden>
Date:   Wed May 24 06:28:37 2017 -0700

    x86: Use __get_cpu_features to get cpu_features
    
    Remove is_intel, is_amd and max_cpuid macros.  Use __get_cpu_features
    to get cpu_features instead.
    
        * sysdeps/x86/cacheinfo.c (is_intel): Removed.
        (is_amd): Likewise.
        (max_cpuid): Likewise.
        (__cache_sysconf): Use __get_cpu_features to get cpu_features.
        (init_cacheinfo): Likewise.

commit 666c0c5efa6db73632a6894bf028fef9f3b60d71
Author: Joseph Myers <address@hidden>
Date:   Tue May 23 16:47:29 2017 +0000

    Fix sigstack namespace (bug 21511).
    
    The sigstack function was removed in the 2001 edition of POSIX, and
    the sigstack structure in the 2008 edition.  signal.h wrongly includes
    those declarations even for newer POSIX versions.  This patch fixes
    the conditions, and conform/ expectations, accordingly.
    
    This patch makes the minimum change to when these declarations are
    present, leaving them visible for __USE_MISC as they would previously
    have been visible by default.  Arguably these legacy declarations
    should only be visible when an old standard is specifically requested,
    but implementing that would require arranging for the various sigstack
    implementations to be able to see the struct sigstack type despite it
    not being in _GNU_SOURCE in that case.
    
    Tested for x86_64.
    
        [BZ #21511]
        * signal/signal.h: Include <bits/types/struct_sigstack.h> only if
        [(__USE_XOPEN_EXTENDED && !__USE_XOPEN2K8) || __USE_MISC].
        (sigstack): Declare only if [(__USE_XOPEN_EXTENDED &&
        !__USE_XOPEN2K) || __USE_MISC].
        * conform/data/signal.h-data (struct sigstack): Expect type only
        if [!XOPEN2K8 && !POSIX2008].
        (sigstack): Expect function only if [XPG42 || UNIX98].

commit cfed8ece799b6e6540193a14b41d9de52dc3b08f
Author: Joseph Myers <address@hidden>
Date:   Tue May 23 11:49:48 2017 +0000

    Fix sys/ucontext.h namespace from signal.h etc. inclusion (bug 21457).
    
    The various sys/ucontext.h headers include <signal.h> and all the
    headers split out of <bits/sigstack.h>.  (Except that the powerpc
    version does not include <signal.h>.)
    
    None of the standard versions defining ucontext.h require or permit
    such inclusions; rather, they all say that the stack_t and sigset_t
    types from signal.h are defined.  This patch fixes the headers to
    include just the bits/ headers for those types (and the existing
    includes of bits/sigcontext.h).  Since bits/types/sigset_t.h is now
    being included instead of bits/types/__sigset_t.h, __sigset_t uses in
    the headers are replaced by direct use of the public sigset_t type.
    sysdeps/unix/sysv/linux/x86/bits/sigcontext.h was relying on the prior
    inclusion of <signal.h> to define types such as __uint32_t, so gets a
    bits/types.h include added to provide those types.
    
    Although one could keep some or all of the includes under a __USE_MISC
    conditional, that seems unnecessary to me, especially given the lack
    of a <signal.h> include in the powerpc version meaning that portable
    programs already cannot rely on such an include.
    
    Tested for x86_64 and x86, and with build-many-glibcs.py.  As with
    other such fixes, more namespace issues remain so this does not permit
    any XFAILs to be removed or bugs to be closed.
    
        [BZ #21457]
        * sysdeps/arm/sys/ucontext.h: Do not include <signal.h>,
        <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/generic/sys/ucontext.h: Do not include <signal.h>,
        <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/i386/sys/ucontext.h: Do not include <signal.h>,
        <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/m68k/sys/ucontext.h: Do not include <signal.h>,
        <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/mips/sys/ucontext.h: Do not include <signal.h>,
        <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h: Do not include
        <signal.h>, <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/unix/sysv/linux/alpha/sys/ucontext.h: Do not include
        <signal.h>, <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/unix/sysv/linux/arm/sys/ucontext.h: Do not include
        <signal.h>, <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h: Do not include
        <signal.h>, <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/unix/sysv/linux/ia64/sys/ucontext.h: Do not include
        <signal.h>, <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h>.
        * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h: Do not include
        <signal.h>, <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Do not include
        <signal.h>, <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h: Do not include
        <signal.h>, <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Do not include
        <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.
        * sysdeps/unix/sysv/linux/s390/sys/ucontext.h: Do not include
        <signal.h>, <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/unix/sysv/linux/sh/sys/ucontext.h: Do not include
        <signal.h>, <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/unix/sysv/linux/sparc/sys/ucontext.h: Do not include
        <signal.h>, <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/unix/sysv/linux/tile/sys/ucontext.h: Do not include
        <signal.h>, <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/unix/sysv/linux/x86/bits/sigcontext.h: Include
        <bits/types.h>.
        * sysdeps/unix/sysv/linux/x86/sys/ucontext.h: Do not include
        <signal.h>, <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.

commit 231a59ce2c5719d2d77752c21092960e28837b4a
Author: Zack Weinberg <address@hidden>
Date:   Mon May 22 22:28:09 2017 -0400

    Fix a bug in 'Remove __need macros from signal.h' (a992f506)
    
    siginfo-arch.h is included in two different places, so the default
    definitions of the macros that it might or might not define need to
    be done conditionally afterward, not unconditionally beforehand.
    
        * sysdeps/unix/sysv/linux/bits/siginfo-consts.h
        (__SI_ASYNCIO_AFTER_SIGIO): Define default after including
        bits/siginfo-arch.h, only if not already defined.
        * sysdeps/unix/sysv/linux/bits/types/siginfo_t.h
        (__SI_ALIGNMENT, __SI_BAND_TYPE, __SI_CLOCK_T)
        (__SI_ERRNO_THEN_CODE, __SI_HAVE_SIGSYS, __SI_SEGFAULT_ADDL):
        Likewise.
    
        * sysdeps/unix/sysv/linux/ia64/bits/siginfo-arch.h
        * sysdeps/unix/sysv/linux/mips/bits/siginfo-arch.h
        * sysdeps/unix/sysv/linux/sparc/bits/siginfo-arch.h
        * sysdeps/unix/sysv/linux/tile/bits/siginfo-arch.h
        * sysdeps/unix/sysv/linux/x86/bits/siginfo-arch.h:
        Unconditionally define __SI_* macros.

commit f1a67a2c78601599be51a17250ca02c7d830d79d
Author: Adhemerval Zanella <address@hidden>
Date:   Fri May 5 11:31:38 2017 -0300

    libio: Avoid dup already opened file descriptor [BZ#21393]
    
    As described in BZ#21398 (close as dup of 21393) report current
    freopen implementation fails when one tries to freopen STDIN_FILENO,
    STDOUT_FILENO, or STDERR_FILENO.  Although on bug report the
    discussion leads to argue if a close followed by a freopen on the
    standard file is a valid operation, the underlying issue is not
    really the check for dup3 returned value, but rather calling it
    if the returned file descriptor is equal as the input one.
    
    So for a quality of implementation this patch avoid calling dup3
    for the aforementioned case.  It also adds a dup3 error case check
    for the two possible failures, with one being Linux only: EINTR and
    EBUSY.  The EBUSY issue is better explained on this stackoverflow
    thread [1], but in a short it is due the internal Linux
    implementation which allows a race condition window for dup2 due
    the logic dissociation of file descriptor allocation and actual
    VFS 'install' operation.  For both outliers failures all allocated
    memory is freed and a NULL FILE* is returned.
    
    With this patch the example on BZ#21398 is now actually possible
    (I used as the testcase for the bug report).  Checked on
    x86_64-linux-gnu.
    
        [BZ #21393]
        * libio/freopen.c (freopen): Avoid dup already opened file descriptor
        and add a check for dup3 failure.
        * libio/freopen64.c (freopen64): Likewise.
        * libio/tst-freopen.c (do_test): Rename to do_test_basic and use
        libsupport.
        (do_test_bz21398): New test.
        * manual/stdio.texi (freopen): Add documentation of EBUSY failure.
    
    [1] 
http://stackoverflow.com/questions/23440216/race-condition-when-using-dup2

commit d26db8fbb4787905590f207d56026e915b3bd5b3
Author: Siddhesh Poyarekar <address@hidden>
Date:   Tue May 23 01:10:29 2017 +0530

    Remove useless comment from sysdeps/sparc/sparc32/dl-machine.h
    
    David Miller has not been shot yet AFAIK (yes, I googled for any news
    that may seem relevant and I poked him on twitter some days ago) so
    either nobody uses SPARC or the code is correct or nobody read the
    instructions in the comment to shoot him.  In all of those cases the
    comment is clearly not useful, so getting rid of it.

commit 2cdfa9e84886535cf7586bc4449850cdce427c64
Author: Zack Weinberg <address@hidden>
Date:   Sun May 21 09:50:26 2017 -0400

    Add one more header to be installed, missed from previous patch.
    
        * signal/Makefile (headers): Add bits/types/sigval_t.h.

commit a992f506ff7162da2afa5a6151cc6f15949ceef4
Author: Zack Weinberg <address@hidden>
Date:   Thu Dec 1 19:24:13 2016 -0500

    Remove __need macros from signal.h.
    
    The types affected are __sig_atomic_t, sig_atomic_t, __sigset_t,
    sigset_t, sigval_t, sigevent_t, and siginfo_t. __sig_atomic_t is a
    scalar, so it's now directly available from bits/types.h.  The others
    get bits/types/ headers.
    
    Side effects include: There have been small changes to which
    non-signal headers expose which subset of the signal-related types.
    A couple of architectures' nested siginfo_t fields had to be renamed
    to prevent undesired macro expansion.  Internal code that wants to
    manipulate signal masks must now include <sigsetops.h> (which is not
    installed) and should be aware that __sigaddset, __sigandset,
    __sigdelset, __sigemptyset, and __sigorset no longer return a value
    (unlike the public API).  Relatedly, the public signal.h no longer
    declares any of those functions.  The obsolete sigmask() macro no
    longer has a system-specific definition -- in the cases where it
    matters, it didn't work anyway.
    
    New Linux architectures should create bits/siginfo-arch.h and/or
    bits/siginfo-consts-arch.h to customize their siginfo_t, rather than
    duplicating everything in bits/siginfo.h (which no longer exists).
    Add new __SI_* macros if necessary.  Ports to other operating systems
    are strongly encouraged to generalize this scheme further.
    
        * bits/sigevent-consts.h
        * bits/siginfo-consts.h
        * bits/types/__sigset_t.h
        * bits/types/sigevent_t.h
        * bits/types/siginfo_t.h
        * sysdeps/unix/sysv/linux/bits/sigevent-consts.h
        * sysdeps/unix/sysv/linux/bits/siginfo-consts.h
        * sysdeps/unix/sysv/linux/bits/types/__sigset_t.h
        * sysdeps/unix/sysv/linux/bits/types/sigevent_t.h
        * sysdeps/unix/sysv/linux/bits/types/siginfo_t.h:
        New system-dependent bits headers.
    
        * sysdeps/unix/sysv/linux/bits/siginfo-arch.h
        * sysdeps/unix/sysv/linux/bits/siginfo-consts-arch.h
        * sysdeps/unix/sysv/linux/ia64/bits/siginfo-arch.h
        * sysdeps/unix/sysv/linux/ia64/bits/siginfo-consts-arch.h
        * sysdeps/unix/sysv/linux/mips/bits/siginfo-arch.h
        * sysdeps/unix/sysv/linux/sparc/bits/siginfo-arch.h
        * sysdeps/unix/sysv/linux/tile/bits/siginfo-arch.h
        * sysdeps/unix/sysv/linux/tile/bits/siginfo-consts-arch.h
        * sysdeps/unix/sysv/linux/x86/bits/siginfo-arch.h:
        New Linux-only system-dependent bits headers.
    
        * signal/bits/types/sig_atomic_t.h
        * signal/bits/types/sigset_t.h
        * signal/bits/types/sigval_t.h:
        New non-system-dependent bits headers.
    
        * sysdeps/generic/sigsetops.h
        * sysdeps/unix/sysv/linux/sigsetops.h:
        New internal headers.
    
        * include/bits/types/sig_atomic_t.h
        * include/bits/types/sigset_t.h
        * include/bits/types/sigval_t.h:
        New wrappers.
    
        * signal/sigsetops.h
        * bits/siginfo.h
        * bits/sigset.h
        * sysdeps/unix/sysv/linux/bits/siginfo.h
        * sysdeps/unix/sysv/linux/bits/sigset.h
        * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h
        * sysdeps/unix/sysv/linux/mips/bits/siginfo.h
        * sysdeps/unix/sysv/linux/s390/bits/siginfo.h
        * sysdeps/unix/sysv/linux/sparc/bits/siginfo.h
        * sysdeps/unix/sysv/linux/tile/bits/siginfo.h
        * sysdeps/unix/sysv/linux/x86/bits/siginfo.h:
        Deleted.
    
        * signal/Makefile, sysdeps/unix/sysv/linux/Makefile:
        Update lists of installed headers.
    
        * posix/bits/types.h: Define __sig_atomic_t here.
        * signal/signal.h: Use the new bits headers; no need to handle
        __need_sig_atomic_t nor __need_sigset_t.  Don't use __sigmask
        to define sigmask.
        * include/signal.h: No need to handle __need_sig_atomic_t
        nor __need_sigset_t.  Don't define __sigemptyset.
    
        * io/sys/poll.h, setjmp/setjmp.h
        * sysdeps/arm/sys/ucontext.h, sysdeps/generic/sys/ucontext.h
        * sysdeps/i386/sys/ucontext.h, sysdeps/m68k/sys/ucontext.h
        * sysdeps/mach/hurd/i386/bits/sigcontext.h
        * sysdeps/mips/sys/ucontext.h, sysdeps/powerpc/novmxsetjmp.h
        * sysdeps/pthread/bits/sigthread.h
        * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h
        * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h
        * sysdeps/unix/sysv/linux/mips/sys/ucontext.h
        * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h
        * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h
        * sysdeps/unix/sysv/linux/s390/sys/ucontext.h
        * sysdeps/unix/sysv/linux/sh/sys/ucontext.h
        * sysdeps/unix/sysv/linux/sparc/sys/ucontext.h
        * sysdeps/unix/sysv/linux/tile/sys/ucontext.h
        * sysdeps/unix/sysv/linux/x86/sys/ucontext.h:
        Use bits/types/__sigset_t.h.
    
        * misc/sys/select.h, posix/spawn.h
        * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h
        * sysdeps/unix/sysv/linux/sys/epoll.h
        * sysdeps/unix/sysv/linux/sys/signalfd.h:
        Use bits/types/sigset_t.h.
    
        * resolv/netdb.h, rt/mqueue.h: Use bits/types/sigevent_t.h.
        * rt/aio.h: Use bits/types/sigevent_t.h and bits/sigevent-consts.h.
        * socket/sys/socket.h: Don't include bits/sigset.h.
    
        * login/utmp_file.c, shadow/lckpwdf.c, signal/sigandset.c
        * signal/sigisempty.c, stdlib/abort.c, sysdeps/posix/profil.c
        * sysdeps/posix/sigignore.c, sysdeps/posix/sigintr.c
        * sysdeps/posix/signal.c, sysdeps/posix/sigset.c
        * sysdeps/posix/sprofil.c, sysdeps/posix/sysv_signal.c
        * sysdeps/unix/sysv/linux/nptl-signals.h:
        Include sigsetops.h.
    
        * signal/sigaddset.c, signal/sigandset.c, signal/sigdelset.c
        * signal/sigorset.c, stdlib/abort.c, sysdeps/posix/sigignore.c
        * sysdeps/posix/signal.c, sysdeps/posix/sigset.c:
        __sigaddset, __sigandset, __sigdelset, __sigemptyset, __sigorset
        now return no value.
    
        * signal/sigaddset.c, signal/sigdelset.c, signal/sigismem.c
        Include <errno.h>, <signal.h>, and <sigsetops.h> instead of
        "sigsetops.h".
    
        * signal/sigsetops.c: Explicitly define __sigismember,
        __sigaddset, and __sigdelset as compatibility symbols.
    
        * signal/Versions: Correct commentary on __sigpause,
        __sigaddset, __sigdelset, __sigismember.
    
        * inet/rcmd.c: Include sigsetops.h.  Convert old code using
        __sigblock/__sigsetmask to use __sigprocmask and friends.

commit 500b3a499fff61157db464a99f459c772d7eb6c0
Author: Zack Weinberg <address@hidden>
Date:   Wed Mar 22 09:55:25 2017 -0400

    Remove __need_list_t and __need_res_state.
    
    These __need macros are only used internally, by nptl/descr.h.
    However, including all of resolv.h from descr.h causes build failures
    due to resolv.h's dozens of pseudo-struct-field macros, some of which
    collide with struct fields in NPTL internal data structures.
    Similarly, including all of list.h from descr.h produces an include
    cycle, atomic.h -> atomic-machine.h -> tls.h -> descr.h -> list.h ->
    atomic.h, and then list.h tries to use atomic.h macros that haven't
    been defined yet.  So we do need mini-headers for these.  In the
    list.h case I called it include/list_t.h since it isn't going to be
    installed.
    
        * resolv/resolv.h: Remove __need_res_state logic.
        Move definition of res_state and related constants to ...
        * resolv/bits/types/res_state.h: ...this new file.
        * resolv/Makefile: Install bits/types/res_state.h.
        * include/bits/types/res_state.h: New wrapper.
        * include/list.h: Remove __need_list_t logic.
        Move definition of list_t to ...
        * include/list_t.h: ...this new file.
    
        * nptl/descr.h: Include list_t.h and bits/types/res_state.h
        instead of list.h and resolv.h.

commit 1f655beb087a4ade30a0299d6f92b9916fbf7cc7
Author: H.J. Lu <address@hidden>
Date:   Sat May 20 06:13:38 2017 -0700

    x86_64: Remove L(return_null) from rawmemchr.S
    
    L(return_null) is unused.
    
        * sysdeps/x86_64/rawmemchr.S (L(return_null)): Removed.

commit 81cb7a0b2b6b905a504b8b56fe3c1634adf8fb71
Author: Zack Weinberg <address@hidden>
Date:   Thu May 11 20:36:15 2017 -0400

    Remove sfi_* annotations from ARM assembly files.
    
    This semi-mechanical patch removes all uses and definitions of the
    sfi_breg, sfi_pld, and sfi_sp macros from various ARM-specific
    assembly files.  These were only used by NaCl.
    
        * sysdeps/arm/sysdep.h
            (ARM_SFI_MACROS, sfi_breg, sfi_pld, sfi_sp): Delete definitions.
    
        * sysdeps/arm/__longjmp.S, sysdeps/arm/add_n.S
        * sysdeps/arm/addmul_1.S, sysdeps/arm/arm-mcount.S
        * sysdeps/arm/armv6/rawmemchr.S, sysdeps/arm/armv6/strchr.S
        * sysdeps/arm/armv6/strcpy.S, sysdeps/arm/armv6/strlen.S
        * sysdeps/arm/armv6/strrchr.S, sysdeps/arm/armv6t2/memchr.S
        * sysdeps/arm/armv6t2/strlen.S
        * sysdeps/arm/armv7/multiarch/memcpy_impl.S
        * sysdeps/arm/armv7/strcmp.S, sysdeps/arm/dl-tlsdesc.S
        * sysdeps/arm/memcpy.S, sysdeps/arm/memmove.S
        * sysdeps/arm/memset.S, sysdeps/arm/setjmp.S
        * sysdeps/arm/strlen.S, sysdeps/arm/submul_1.S:
            Remove all uses of sfi_breg, sfi_pld, and sfi_sp.

commit 42a844c6a213f9219a4baa013c7305679d5dcaaa
Author: Zack Weinberg <address@hidden>
Date:   Thu May 11 20:28:07 2017 -0400

    Remove the bulk of the NaCl port.
    
    The NaCl port has not been actively maintained since before the 2.25
    release.  The complementary GCC back-end was never contributed to GCC,
    and we are given to understand that the current NaCl SDK has switched
    to Clang and therefore cannot be used to build glibc anymore, so we
    doubt that the port remains useful.
    
    This commit simply removes the sysdeps/arm/nacl and sysdeps/nacl
    directories and the abi-tags entry.
    
        Remove the NaCl port.
        * abi-tags: Remove .*-.*-nacl.* entry.
        * sysdeps/arm/nacl: Remove directory and contents.
        * sysdeps/nacl: Likewise.

commit a429d2ff07fcb6620269fc0ee46ea5066451fdff
Author: Rical Jasan <address@hidden>
Date:   Fri May 19 22:44:25 2017 -0700

    manual: Convert errno @comments to new @errno macro.
    
    errno.texi documents error macros, their values, and error strings in
    Texinfo @comments, some of which are also used for @standards.  The
    purpose of this commit is to separate the standards from the error
    strings so that both the @standards conversion script picks up clean
    @standards and the errno documentation framework is improved.
    
    The error names, values, and messages are consolidated in a new custom
    macro, @errno.  It is not clear that scripts within the sources rely
    on the special Texinfo @comment-based format to generate files used
    throughout the library, so the definition of @errno in macros.texi now
    provides a comment indicating the dependency.  The dependent scripts
    are updated to use @errno, which also simplifies them a bit.  The
    files those scripts generate were verified to be unchanged.
    
    The @errno macro is not visibly rendered in any way at this time, but
    it does use an @cindex command to add the error string to the Concept
    Index, to facilitate searching on error messages.
    
        * manual/errno.texi: Convert @comment-based errno
        documentation to @errno.
        * manual/macros.texi (@errno): New macro.  Consolidate errors,
        their values, and messages, adding the error string to the
        Concept Index.  Provide a warning in the comment about
        external (to the manual) dependencies.
        * sysdeps/gnu/errlist.awk: Use @errno instead of @comments.
        * sysdeps/mach/hurd/errnos.awk: Likewise.

commit 0bcec5321f7d31c31e4fd601d4e0922862d87b14
Author: Joseph Myers <address@hidden>
Date:   Fri May 19 20:35:07 2017 +0000

    Split up bits/sigstack.h.
    
    bits/sigstack.h contains four things: the legacy struct sigstack type,
    the preferred stack_t type, the SS_* enum values and macros for signal
    stack sizes.
    
    These vary in different ways between glibc configurations; in
    particular, the stack sizes vary much more than any of the other
    pieces.  Furthermore, these pieces have different standard namespace
    rules for when they should be visible (not currently visible in
    conform/ results both because the relevant tests are XFAILed for
    sys/ucontext.h namespace issues, and because some of the expectations
    are incorrect in the same way as the headers, e.g. neither
    expectations nor headers reflect that current POSIX no longer has
    either the sigstack function or the sigstack structure).
    
    To reduce duplication of identical definitions, and facilitate
    namespace fixes without requiring the same feature test macro
    conditions to be repeated in many versions of the same header, this
    patch splits bits/sigstack.h up into four headers.  It keeps the stack
    size macros, while new bits/types/struct_sigstack.h,
    bits/types/stack_t.h and bits/ss_flags.h are added for the other
    pieces.  bits/types/struct_sigstack.h is the same everywhere,
    bits/types/stack_t.h has three variants different in the order of the
    structure elements (generic = MIPS Linux, and other Linux), and
    bits/ss_flags.h has generic and Linux variants.
    
    This patch includes the new headers everywhere that included
    <bits/sigstack.h>, so should cause no difference to what any public
    header defines.  Subsequent namespace fixes would then remove or
    condition some of those includes.
    
    There should be no conflicts with Zack's changes to signal.h types,
    beyond the trivial conflict of both making additions to
    signal/Makefile's headers list; the two patches affect disjoint sets
    of types and other definitions.
    
    Tested for x86_64 and x86, and with build-many-glibcs.py.
    
        * bits/ss_flags.h: New file.
        * bits/types/stack_t.h: Likewise.
        * include/bits/types/struct_sigstack.h: Likewise.
        * signal/bits/types/struct_sigstack.h: Likewise.
        * sysdeps/unix/sysv/linux/bits/ss_flags.h: Likewise.
        * sysdeps/unix/sysv/linux/bits/types/stack_t.h: Likewise.
        * sysdeps/unix/sysv/linux/mips/bits/types/stack_t.h: Likewise.
        * signal/Makefile (headers): Add bits/types/struct_sigstack.h,
        bits/types/stack_t.h and bits/ss_flags.h.
        * signal/signal.h [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8]:
        Include <bits/types/struct_sigstack.h>, <bits/types/stack_t.h> and
        <bits/ss_flags.h>.
        * bits/sigstack.h (struct sigstack): Remove.
        (stack_t): Likewise.
        (SS_ONSTACK): Likewise.
        (SS_DISABLE): Likewise.
        * sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h
        (struct sigstack): Likewise.
        (stack_t): Likewise.
        (SS_ONSTACK): Likewise.
        (SS_DISABLE): Likewise.
        * sysdeps/unix/sysv/linux/alpha/bits/sigstack.h (struct sigstack):
        Likewise.
        (stack_t): Likewise.
        (SS_ONSTACK): Likewise.
        (SS_DISABLE): Likewise.
        * sysdeps/unix/sysv/linux/bits/sigstack.h (struct sigstack):
        Likewise.
        (stack_t): Likewise.
        (SS_ONSTACK): Likewise.
        (SS_DISABLE): Likewise.
        * sysdeps/unix/sysv/linux/mips/bits/sigstack.h: Likewise.
        * sysdeps/unix/sysv/linux/ia64/bits/sigstack.h (struct sigstack):
        Likewise.
        (stack_t): Likewise.
        (SS_ONSTACK): Likewise.
        (SS_DISABLE): Likewise.
        * sysdeps/unix/sysv/linux/powerpc/bits/sigstack.h
        (struct sigstack): Likewise.
        (stack_t): Likewise.
        (SS_ONSTACK): Likewise.
        (SS_DISABLE): Likewise.
        * sysdeps/unix/sysv/linux/sparc/bits/sigstack.h (struct sigstack):
        Likewise.
        (stack_t): Likewise.
        (SS_ONSTACK): Likewise.
        (SS_DISABLE): Likewise.
        * sysdeps/arm/sys/ucontext.h: Include
        <bits/types/struct_sigstack.h>, <bits/types/stack_t.h> and
        <bits/ss_flags.h>.
        * sysdeps/generic/sys/ucontext.h: Likewise.
        * sysdeps/i386/sys/ucontext.h: Likewise.
        * sysdeps/m68k/sys/ucontext.h: Likewise.
        * sysdeps/mips/sys/ucontext.h: Likewise.
        * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h: Likewise.
        * sysdeps/unix/sysv/linux/alpha/sys/ucontext.h: Likewise.
        * sysdeps/unix/sysv/linux/arm/sys/ucontext.h: Likewise.
        * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h: Likewise.
        * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Likewise.
        * sysdeps/unix/sysv/linux/ia64/sys/ucontext.h: Likewise.
        * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h: Likewise.
        * sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Likewise.
        * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Likewise.
        * sysdeps/unix/sysv/linux/s390/sys/ucontext.h: Likewise.
        * sysdeps/unix/sysv/linux/sh/sys/ucontext.h: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sys/ucontext.h: Likewise.
        * sysdeps/unix/sysv/linux/tile/sys/ucontext.h: Likewise.
        * sysdeps/unix/sysv/linux/x86/sys/ucontext.h: Likewise.

commit 402bf0695218bbe290418b9486b1dd5fe284d903
Author: H.J. Lu <address@hidden>
Date:   Fri May 19 10:46:29 2017 -0700

    x86: Optimize SSE2 memchr overflow calculation
    
    SSE2 memchr computes "edx + ecx - 16" where ecx is less than 16.  Use
    "edx - (16 - ecx)", instead of satured math, to avoid possible addition
    overflow.  This replaces
    
        add     %ecx, %edx
        sbb     %eax, %eax
        or      %eax, %edx
        sub     $16, %edx
    
    with
    
        neg     %ecx
        add     $16, %ecx
        sub     %ecx, %edx
    
    It is the same for x86_64, except for rcx/rdx, instead of ecx/edx.
    
        * sysdeps/i386/i686/multiarch/memchr-sse2.S (MEMCHR): Use
        "edx + ecx - 16" to avoid possible addition overflow.
        * sysdeps/x86_64/memchr.S (memchr): Likewise.

commit 1d71a6315396f6e1cc79a1d7ecca0a559929230a
Author: Adhemerval Zanella <address@hidden>
Date:   Fri May 19 09:37:00 2017 -0300

    Fix makefile rules for vmsplice, splice, and open_by_handle_at
    
    Commits ecade1c, afbbc18, and a5a34d2 added compiler flags for
    vmsplice, splice, and open_by_handle_at respectively on default
    misc/Makefile.  However such symbols are build only for Linux and
    the rules should on linux Makefile only.
    
    Checked on x86_64-linux-gnu.
    
        * misc/Makefile (CFLAGS-vmsplice.c): Remove rule.
        (CFLAGS-splice.c): Likewise.
        (CFLAGS-open_by_handle_at.c): Likewise.
        * sysdeps/unix/sysv/linux/Makefile (CFLAGS-vmsplice.c): New rule.
        (CFLAGS-splice.c): Likewise.
        (CFLAGS-open_by_handle_at.c): Likewise.

commit 9aa4965cdf59279c74a768e429f4155a00fea5e2
Author: Joseph Myers <address@hidden>
Date:   Fri May 19 11:30:26 2017 +0000

    Also create and use ldbl-compat-choose.h.
    
    This patch makes the glibc build generate an additional header
    ldbl-compat-choose.h that defines LONG_DOUBLE_COMPAT_CHOOSE_* macros
    for each libc and libm symbol, which select one or the other of their
    arguments based on whether the symbol was added before a change to
    long double != double.
    
    The effect of this is that it is then possible to define a macro
    maybe_long_double_symbol that automatically acts as either
    long_double_symbol or weak_alias depending on when the symbol being
    defined was added.  This can be used when building long double
    functions from type-generic templates.  Thus, with this patch ldbl-opt
    no longer needs special long double implementations of each new libm
    function added using such a template, and the existing such
    implementations are removed.
    
    This is a step towards being able more generally to use common macros
    to create all the aliases needed for a libm function, so reducing the
    amount of special-case code needed in ldbl-opt and ldbl-64-128, and
    facilitating subsequently adding *f32 / *f64 / *f128 / *f32x / *f64x
    aliases to existing functions (where the set of aliases that a
    function should have may depend on the architecture in various ways).
    
    Tested with build-many-glibcs.py.  Except for on
    powerpc64le-linux-gnu, installed stripped shared libraries are
    unchanged by the patch.  powerpc64le-linux-gnu is the unique
    configuration which used ldbl-opt from the start rather than adding a
    new long double choice after originally only having had long double =
    double.  The effect of the patch there is that various cases that
    previously used long_double_symbol unconditionally now use weak_alias
    instead, so .os files contain e.g. a symbol cabsl instead of
    cabsl@@GLIBC_2.17.  The final dynamic symbols and versions in the
    resulting shared libraries are unchanged (ABI tests pass), as is the
    disassembly of the shared libraries, but the differences in the .os
    files still result in different .gnu_hash contents in libm.so; the
    differences are of no significance and logically using weak_alias is
    what's most appropriate in those cases.
    
        * scripts/versions.awk: Generate ldbl-compat-choose.h.
        * sysdeps/ieee754/ldbl-opt/math-type-macros-ldouble.h: Include
        <ldbl-compat-choose.h>.
        (maybe_long_double_symbol): New macro.
        [!declare_mgen_alias] (declare_mgen_alias): Use
        maybe_long_double_symbol.
        * sysdeps/ieee754/ldbl-opt/s_canonicalizel.c: Remove.
        * sysdeps/ieee754/ldbl-opt/s_fmaxmagl.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/s_fminmagl.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/s_nextdownl.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_llogbl.c: Likewise.
        * Makerules [$(build-shared) = yes && !avoid-generated]
        (before-compile): Add $(common-objpfx)ldbl-compat-choose.h.
        [$(build-shared) = yes && !avoid-generated]
        ($(common-objpfx)ldbl-compat-choose.h): New target.

commit 8f2e1830f298f45d34cfdb4cffc8ce3b940a3990
Author: Joseph Myers <address@hidden>
Date:   Fri May 19 11:26:00 2017 +0000

    Create and use first-versions.h with macros for function symbol versions.
    
    This patch arranges for the glibc build to generate a header
    first-versions.h that defines macros for the earliest symbol version
    in which each public symbol (GLIBC_[0-9]* symbol version, name only
    uses C identifier characters) is available.
    
    This is used in sysdeps/ieee754/ldbl-opt/math-type-macros-double.h to
    replace the manually defined LDOUBLE_*_libm_version macros for various
    functions defined using type-generic templates, the purpose of which
    is to use in LONG_DOUBLE_COMPAT tests "was this function originally
    added before glibc supported long double != double on this platform?".
    As discussed in
    <https://sourceware.org/ml/libc-alpha/2016-12/msg00246.html>, I expect
    this to be useful more generally in reducing the amount of
    special-case code needed in ldbl-opt and ldbl-64-128.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries are unchanged by this patch.
    
        * scripts/versions.awk: Generate first-versions.h.
        * sysdeps/ieee754/ldbl-opt/math-type-macros-double.h: Include
        <first-versions.h>.
        (LDOUBLE_cabsl_libm_version): Remove macro.
        (LDOUBLE_cargl_libm_version): Likewise.
        (LDOUBLE_cimagl_libm_version): Likewise.
        (LDOUBLE_conjl_libm_version): Likewise.
        (LDOUBLE_creall_libm_version): Likewise.
        (LDOUBLE_cacosl_libm_version): Likewise.
        (LDOUBLE_cacoshl_libm_version): Likewise.
        (LDOUBLE_ccosl_libm_version): Likewise.
        (LDOUBLE_ccoshl_libm_version): Likewise.
        (LDOUBLE_casinl_libm_version): Likewise.
        (LDOUBLE_csinl_libm_version): Likewise.
        (LDOUBLE_casinhl_libm_version): Likewise.
        (LDOUBLE_csinhl_libm_version): Likewise.
        (LDOUBLE_catanl_libm_version): Likewise.
        (LDOUBLE_catanhl_libm_version): Likewise.
        (LDOUBLE_ctanl_libm_version): Likewise.
        (LDOUBLE_ctanhl_libm_version): Likewise.
        (LDOUBLE_cexpl_libm_version): Likewise.
        (LDOUBLE_clogl_libm_version): Likewise.
        (LDOUBLE_cprojl_libm_version): Likewise.
        (LDOUBLE_csqrtl_libm_version): Likewise.
        (LDOUBLE_cpowl_libm_version): Likewise.
        (LDOUBLE_clog10l_libm_version): Likewise.
        (LDOUBLE___clog10l_libm_version): Likewise.
        (LDOUBLE_fdiml_libm_version): Likewise.
        (LDOUBLE_fmaxl_libm_version): Likewise.
        (LDOUBLE_fminl_libm_version): Likewise.
        (LDOUBLE_ilogbl_libm_version): Likewise.
        (LDOUBLE_nanl_libm_version): Likewise.
        [!M_LIBM_NEED_COMPAT] (M_LIBM_NEED_COMPAT): Use
        FIRST_VERSION_libm_* macros.
        [!declare_mgen_libm_compat] (declare_mgen_libm_compat): Likewise.
        * Makerules [$(build-shared) = yes && !avoid-generated]
        (before-compile): Add $(common-objpfx)first-versions.h.
        [$(build-shared) = yes && !avoid-generated]
        ($(common-objpfx)first-versions.h): New target.
        ($(common-objpfx)sysd-versions): Depend on and change to rule for
        building $(common-objpfx)versions.stmp.

commit 332e01c6276e05ece5953007c98aa84725c4fda4
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Nov 4 10:40:20 2015 -0200

    posix: Consolidate Linux mq_timedsend syscall
    
    This patch consolidates the mq_timedsend Linux syscall generation
    on sysdeps/unix/sysv/linux/mq_timedsend.c.  It basically removes it
    from architecture auto-generation list.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    arch64-linux-gnu, arm-linux-gnueabihf, powerpc64le-linux-gnu,
    sparc64-linux-gnu, and sparcv9-linux-gnu.
    
        * rt/Makefile (CFLAGS-mq_timedsend.c): New flag.
        * sysdeps/unix/sysv/linux/mq_timedsend.c: New file.
        * sysdeps/unix/sysv/linux/syscalls.list (mq_timedsend): Remove from
        auto-generation list.

commit a5fdd305970adc9b245f97dd18ff813efea36484
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Nov 4 10:32:58 2015 -0200

    posix: Consolidate Linux mq_timedreceive syscall
    
    This patch consolidates the mq_timedreceive Linux syscall generation
    on sysdeps/unix/sysv/linux/mq_timedreceive.c.  It basically removes it
    from architecture auto-generation list.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    arch64-linux-gnu, arm-linux-gnueabihf, powerpc64le-linux-gnu,
    sparc64-linux-gnu, and sparcv9-linux-gnu.
    
        * rt/Makefile (CFLAGS-mq_timedreceive.c): New flag.
        * sysdeps/unix/sysv/linux/mq_timedreceive.c: New file.
        * sysdeps/unix/sysv/linux/syscalls.list (mq_timedreceive): Remove
        from auto-generation list.

commit a5a34d2eaf717fb95a33553170000fb147ded444
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Nov 2 11:42:09 2015 -0200

    linux: Consolidate Linux open_by_handle_at syscall
    
    This patch consolidates the open_by_handle_at Linux syscall generation on
    sysdeps/unix/sysv/linux/open_by_handle_at.c.  It basically removes it from
    architectures auto-generation list.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    arch64-linux-gnu, arm-linux-gnueabihf, powerpc64le-linux-gnu,
    sparc64-linux-gnu, and sparcv9-linux-gnu.
    
        * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add
        open_by_handle_at.
        (CFLAGS-open_by_handle_at.c): New flag.
        * sysdeps/unix/sysv/linux/open_by_handle_at.c: New file.
        * sysdeps/unix/sysv/linux/syscalls.list (open_by_handle_at): New
        file.
        * misc/Makefile (CFLAGS-open_by_handle_at.c): New rule.

commit afbbc18f9e253194cd05252a8d3b93fe97a777c1
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Nov 2 11:22:30 2015 -0200

    linux: Consolidate Linux splice syscall
    
    This patch consolidates the splice Linux syscall generation on
    sysdeps/unix/sysv/linux/splice.c.  It basically removes it from
    architectures auto-generation list.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    arch64-linux-gnu, arm-linux-gnueabihf, powerpc64le-linux-gnu,
    sparc64-linux-gnu, and sparcv9-linux-gnu.
    
        * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add splice.
        (CFLAGS-splice.c): New flag.
        * sysdeps/unix/sysv/linux/splice.c: New file.
        * sysdeps/unix/sysv/linux/syscalls.list (splice): Remove from
        auto-generation syscall list.
        * misc/Makefile (CFLAGS-splice.c): New rule.

commit ecade1cb0b9d5139498ccd7a5d4aa4c1cc870231
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Nov 2 11:13:24 2015 -0200

    linux: Consolidate Linux vmsplice syscall
    
    This patch consolidates the vmsplice Linux syscall generation on
    sysdeps/unix/sysv/linux/vmsplice.c.  It basically removes it from
    architectures auto-generation list.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    arch64-linux-gnu, arm-linux-gnueabihf, powerpc64le-linux-gnu,
    sparc64-linux-gnu, and sparcv9-linux-gnu.
    
        * sysdeps/unix/sysv/linux/Makefile (CFLAGS-vmsplice.c): New flag.
        * sysdeps/unix/sysv/linux/syscalls.list (vmsplice): Remove from
        auto-generation syscall list.
        * sysdeps/unix/sysv/linux/vmsplice.c: New file.
        * misc/Makefile (CFLAGS-vmsplice.c): New rule.

commit fdbb0d98bae4c3f62e5893b9194456cae61bd1d2
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Nov 2 12:14:35 2015 -0200

    posix: Consolidate Linux fsync syscall
    
    This patch consolidates the fsync Linux syscall generation on
    sysdeps/unix/sysv/linux/fsync.c.  It basically removes it from
    architectures auto-generation list.
    
    For arm it also removes the __errno_location call since fsync
    is not called with SYSCALL_CANCEL with call arch-specific
    INLINE_SYSCALL macro which in turn will call __set_errno macro
    (and setting errno directly).
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    arch64-linux-gnu, arm-linux-gnueabihf, powerpc64le-linux-gnu,
    sparc64-linux-gnu, and sparcv9-linux-gnu.
    
        * misc/Makefile (CFLAGS-fsync.c): New flag.
        * nptl/Makefile (CFLAGS-fsync.c): Likewise.
        * sysdeps/unix/syscalls.list (fsync): Remove from auto-generation
        syscall list.
        * sysdeps/unix/sysv/linux/fsync.c: New file.
        * sysdeps/unix/sysv/linux/arm/localplt.data [libpthread.so]
        (__errno_location): Remove.

commit 51209cbf51192d4a2c337a41ddb6eebc7472c021
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Nov 2 11:00:39 2015 -0200

    posix: Consolidate Linux fdatasync syscall
    
    This patch consolidates the fdatasync Linux syscall generation on
    sysdeps/unix/sysv/linux/fdatasync.c.  It basically removes it from
    architectures auto-generation list.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    arch64-linux-gnu, arm-linux-gnueabihf, powerpc64le-linux-gnu,
    sparc64-linux-gnu, and sparcv9-linux-gnu.
    
        * misc/makefile (CFLAGS-datasync.c): New flag.
        * nptl/makefile (CFLAGS-datasync.c): Likewise.
        * sysdeps/unix/sysv/linux/syscalls.list (fdatasync): Remove from
        auto-generation syscall list.
        * sysdeps/unix/sysv/linux/fdatasync.c: New file.

commit 3c9399f507dba9547e9d193dbdca87fbd4f586df
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Nov 2 10:53:29 2015 -0200

    posix: Consolidate Linux msync syscall
    
    This patch consolidates the msync Linux syscall generation on
    sysdeps/unix/sysv/linux/msync.c.  It basically removes it from
    architectures auto-generation list.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    arch64-linux-gnu, arm-linux-gnueabihf, powerpc64le-linux-gnu,
    sparc64-linux-gnu, and sparcv9-linux-gnu.
    
        * misc/Makefile (CFLAGS-msync.c): New rule.
        * nptl/Makefile (CFLAGS-msync.c): Likewise.
        * sysdeps/unix/syscalls.list: Remove msync from auto-generation list.
        * sysdeps/unix/sysv/linux/msync.c: New file.

commit b3b00aa8b0c510db1aec831f47c21e33a6d814be
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Nov 24 10:12:37 2016 -0200

    posix: Consolidate Linux sigsuspend implementation
    
    This patch consolidates the sigsuspend Linux syscall generation on
    sysdeps/unix/sysv/linux/sigsuspend.c.  It basically removes the alpha
    assembly version which call the old sigsusped interface using only
    the first doubleword from sigset. Current minimum supported kernel
    on alpha (3.2) enforces rt_sigsuspend on the architecture
    (__ARCH_WANT_SYS_RT_SIGSUSPEND option on kernel), so it is possible
    to use the default implementation.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    arch64-linux-gnu, arm-linux-gnueabihf, powerpc64le-linux-gnu,
    sparc64-linux-gnu, and sparcv9-linux-gnu.
    
        * sysdeps/unix/sysv/linux/alpha/sigsuspend.S: Remove file.
        * sysdeps/unix/sysv/linux/sigsuspend.c: Simplify include list.
        * nptl/Makefile (CFLAGS-sigsuspend.c): New rule.
        * sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
        (CFLAGS-sigsuspend.c): Remove rule.

commit 2de15b61e92c76bcb21df1140f20a62dc6d3cc39
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Nov 24 09:55:09 2016 -0200

    linux: Consolidate Linux tee implementation
    
    This patch consolidates the tee Linux syscall generation on
    sysdeps/unix/sysv/linux/tee.c.  It basically removes it from
    architectures auto-generation list.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    arch64-linux-gnu, arm-linux-gnueabihf, powerpc64le-linux-gnu,
    sparc64-linux-gnu, and sparcv9-linux-gnu.
    
        * sysdeps/unix/sysv/linux/Makefile (sysdeps_routines): Add tee.
        (CFLAGS-tee.c): New rule.
        * sysdeps/unix/sysv/linux/syscalls.list: Remove tee from
        auto-generated list.
        * sysdeps/unix/sysv/linux/tee.c: New file.

commit 3d0ad5a8dfb7b8dd862108970a62c2c3ce9ddd72
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Nov 3 16:03:56 2015 -0200

    posix: Consolidate Linux nanosleep syscall
    
    This patch consolidates the nanosleep Linux syscall generation on
    sysdeps/unix/sysv/linux/nanosleep.c.  It basically removes it from
    architectures auto-generation list.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    arch64-linux-gnu, arm-linux-gnueabihf, powerpc64le-linux-gnu,
    sparc64-linux-gnu, and sparcv9-linux-gnu.
    
        * nptl/Makefile (CFLAGS-nanosleep.c): New rule.
        * posix/Makefile (CFLAGS-nanosleep.c): Likewise.
        * sysdeps/unix/sysv/linux/nanosleep.c: New file.
        * sysdeps/unix/sysv/linux/syscalls.list: Remove nanosleep from
        auto-generated list.

commit ebfdb12bf0b6a8eccbee28335d0e6297d8b874d1
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Jan 17 15:57:33 2017 -0200

    posix: Consolidate Linux waitpid syscall
    
    This patch consolidates the waitpid Linux syscall generation on
    sysdeps/unix/sysv/linux/waitpid.c.  It basically removes it from
    architecture auto-generation list and also remove arch specific
    implementations.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    arch64-linux-gnu, arm-linux-gnueabihf, and powerpc64le-linux-gnu.
    
        * sysdeps/unix/sysv/linux/sh/syscalls.list: Remove waitpid from
        auto-generated list.
        * sysdeps/unix/sysv/linux/m68k/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/i386/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/sparc/syscalls.list: Remove file.
        * sysdeps/unix/sysv/linux/tile/waitpid.S: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.

commit 88499a87cef0a70f381524b9c4951b53bc5184e3
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Nov 21 17:26:35 2016 -0200

    posix: Consolidate Linux pause syscall
    
    This patch consolidates the pause Linux implementation on
    sysdeps/unix/sysv/linux/pause.c.  If defined the pause syscall
    (__NR_pause) will be used, other ppoll with 0 arguments will be
    used instead.
    
    It has the small advantage of generic pause implementation with
    uses rt_sigprocmask plus rt_sigsuspend because it requires only
    one syscall and the pause is done atomically regarding signal
    handling (for instance, pause may not be interrupted if the
    signal arrives between the rt_sigprocmask and rt_sigsuspend
    syscall).
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    arch64-linux-gnu, arm-linux-gnueabihf, powerpc64le-linux-gnu,
    sparc64-linux-gnu, and sparcv9-linux-gnu.
    
        * sysdeps/unix/sysv/linux/generic/pause.c: Remove file.
        * sysdeps/unix/sysv/linux/sparc/sparc64/pause.c: Likewise.
        * sysdeps/unix/sysv/linux/sparc/kernel-features.h [__arch64__]
        (__NR_pause): Undefine.
        * sysdeps/unix/sysv/linux/pause.c: New file.
        * sysdeps/unix/sysv/linux/syscalls.list: Remove pause from
        auto-generation list.

commit a7fbedff76494b5b694f647e9c681cf8988056ce
Author: H.J. Lu <address@hidden>
Date:   Thu May 18 14:02:02 2017 -0700

    Correct comments in x86_64/multiarch/memcmp.S
    
        * sysdeps/x86_64/multiarch/memcmp.S (__GI_memcmp): Correct
        comments.

commit ce79740bdbccea312df6cfcf70689efb57792fc9
Author: Siddhesh Poyarekar <address@hidden>
Date:   Fri May 19 01:42:01 2017 +0530

    Reduce value of LD_HWCAP_MASK for tst-env-setuid test case
    
    It was discovered that the dynamic linker allocates a massive amount
    of memory that increases with the value of LD_HWCAP_MASK.  Due to
    this, setting its value to 0xffffffff in the environment of
    tst-env-setuid would cause it to fail in some environments where
    overcommit was disabled or severely constrained because malloc would
    fail.
    
    Since this test is only concerned with the value of LD_HWCAP_MASK
    envvar being conserved (or not, for setxid binaries), lower its value
    to avoid spurious failures.
    
    The allocation bug is reported as #21502.

commit a449fc68f652ee3b4b048f30701cec19c91e96e8
Author: Rical Jasan <address@hidden>
Date:   Mon May 15 23:41:25 2017 -0700

    manual: Convert @tables of annotated @items to @vtables.
    
    The conversion script will convert these annotations, but the
    replacement Summary-generation script won't catch them because @items
    in @tables are not generally considered annotatable, causing them to
    be skipped over (or cause errors).  Using @vtable ensures their
    continued presence in the Summary, with the added benefit that Texinfo
    will also automatically include them in the Variable and Constant
    Macro index now.
    
        * manual/conf.texi: Convert @tables of annotated @items to
        @vtables.
        * manual/lang.texi: Likewise.
        * manual/pattern.texi: Likewise.
        * manual/resource.texi: Likewise.
        * manual/socket.texi: Likewise.

commit f227c3e0a6a93e111a6217942d21ebab5898d59b
Author: Rical Jasan <address@hidden>
Date:   Sun May 14 03:58:32 2017 -0700

    manual: Fix up invalid header and standards syntax.
    
    This commit handles exceptional cases of invalid syntax for the
    @standards conversion script.
    
        * manual/crypt.texi: Move a comment out of an @*x list.
        * manual/filesys.texi: Refactor some comments, one of which
        looks like a standard.  Fix incorrectly separated standards.
        * manual/locale.texi: Invert an annotation.
        * manual/resource.texi: Fix incorrectly separated standards.
        * manual/time.texi: Refactor a @vtable that obscures an
        annotation.
        * manual/users.texi: Refactor multiple headers to occupy a
        single @comment.

commit dec4a7105edcdbabdcac5f358f5bc5dca4f4ed1b
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Thu May 18 11:21:20 2017 +0530

    powerpc: Improve memcmp performance for POWER8
    
    Vectorization improves performance over the current implementation.
    Tested on powerpc64 and powerpc64le.

commit 477bf19a590b6e6de65f326cb00dcb8999fa8b26
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Fri Dec 9 11:41:55 2016 -0200

    float128: Extend __MATH_TG for float128 support
    
        * math/math.h (__MATH_TG): Extend the conditions to add
        _Float128 support.
        * misc/sys/cdefs.h (__HAVE_GENERIC_SELECTION): New macro.

commit b2980e3c545294d71b3960ce74b6148e274d2488
Author: Paul Clarke <address@hidden>
Date:   Wed May 17 16:35:33 2017 -0300

    powerpc: Add a POWER8-optimized version of cosf()
    
    This implementation is based on the one already used at
    sysdeps/powerpc/powerpc64/fpu/multiarch/s_sinf-power8.S.
    
        * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile
        [$(subdir) = math] (libm-sysdep_routines): Add s_cosf-power8 and
        s_cosf-ppc64.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_cosf-power8.S: New file.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_cosf-ppc64.c: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_cosf.c: Likewise.
        * sysdeps/powerpc/powerpc64/power8/fpu/s_cosf.S: Likewise.

commit 7620dc123570e2c8080a4dcc51d220a9d92c8841
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Tue May 16 13:34:34 2017 -0300

    Convert e_exp2l.c into a template
    
    This patch converts the implementation of exp2l in math/e_exp2l.c into
    a template in math/e_exp2_template.c, then adjusts Makefile to use
    this template for long double (the implementations for float and
    double in sysdeps have higher precedence and are not used).  This
    template can also be used for float128, thus reducing the amount of
    duplicated code that gets added when adding support the new type.
    
    Tested for powerpc64le and s390x.
    
        * math/Makefile (libm-calls): Move e_exp2F to gen-libm-calls.
        (gen-libm-calls): Add e_exp2F to use the template.
        * math/e_exp2l.c: Rename to math/e_exp2_template.c.
        * math/e_exp2_template.c: New file, renamed from
        math/e_exp2l.c, and made into a template.
        * sysdeps/generic/math-type-macros.h (M_MIN_EXP): New macro.

commit ad2f35cb396d24391150675fb55311c98d1e1592
Author: Siddhesh Poyarekar <address@hidden>
Date:   Wed May 17 13:11:55 2017 +0530

    tunables: Add support for tunables of uint64_t type
    
    Recognize the uint64_t type in addition to the current int32_t and
    size_t.  This allows addition of tunables of uint64_t types.  In
    addition to adding the uint64_t type, this patch also consolidates
    validation and reading of integer types in tunables.
    
    One notable change is that of overflow computation in
    tunables_strtoul.  The function was lifted from __internal_strtoul,
    but it does not need the boundary condition check (i.e. result ==
    ULONG_MAX) since it does not need to set errno.  As a result the check
    can be simplified, which I have now done.
    
        * elf/dl-tunable-types.h (tunable_type_code_t): New type
        TUNABLE_TYPE_UINT_64.
        * elf/dl-tunables.c (tunables_strtoul): Return uint64_t.
        Simplify computation of overflow.
        (tunable_set_val_if_valid_range_signed,
        tunable_set_val_if_valid_range_unsigned): Remove and replace
        with this...
        (TUNABLE_SET_VAL_IF_VALID_RANGE): ... New macro.
        (tunable_initialize): Adjust.  Add uint64_t support.
        (__tunable_set_val): Add uint64_t support.
        * README.tunables: Document it.

commit d13103074ab5c7614eeb94f88a61803ed8f3e878
Author: Siddhesh Poyarekar <address@hidden>
Date:   Wed May 17 13:11:00 2017 +0530

    tunables: Specify a default value for tunables
    
    Enhance dl-tunables.list to allow specifying a default value for a
    tunable that it would be initialized to.
    
        * scripts/gen-tunables.awk: Recognize 'default' keyword in
        dl-tunables.list.
        * README.tunables: Document it.

commit c79a72aa5cb8357c216a71015c7448a9259c8531
Author: Adhemerval Zanella <address@hidden>
Date:   Tue May 2 14:39:58 2017 -0300

    posix: Fix and simplify default p{read,write}v implementation
    
    Currently all architectures but microblaze use wire-up syscall for
    p{readv,write}v.  Microblaze still uses the syscall emulation using
    sysdep/posix/p{readv,writev}.c and it was reported in some ocasions
    [1] [2] that it might have some issues with some linux specific
    usage (mainly with O_DIRECT and the alignment requirement).
    
    Although it is not an issue for virtually all the system, this
    patch refactors the sysdeps/posix p{read,write}v syscall to avoid
    such issue (by using posix_memalign on the buffer used on
    p{read,write} call) and by refactoring it common files to avoid
    the need check on defines to correct set the alias and internal
    symbols.
    
    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).
    
        * sysdeps/posix/preadv.c: Use sysdeps/posix/preadv_common.c.
        * sysdeps/posix/preadv64.c: Likewise.
        * sysdeps/unix/sysv/linux/preadv.c: Likewise.
        * sysdeps/unix/sysv/linux/preadv64.c: Likewise.
        * sysdeps/posix/pwritev.c: Use sysdeps/posix/pwritev_common.c.
        * sysdeps/posix/pwritev64.c: Likewise.
        * sysdeps/unix/sysv/linux/pwritev.c: Likewise.
        * sysdeps/unix/sysv/linux/pwritev64.c: Likewise.
        * sysdeps/posix/preadv_common.c: New file.
        * sysdeps/posix/pwritev_common.c: Likewise.
    
    [1] http://www.mail-archive.com/address@hidden/msg25282.html
    [2] https://bugzilla.redhat.com/show_bug.cgi?id=563103#c8

commit cdd45522b6e87369afc341402bda7a95bdf83380
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Wed Feb 1 17:54:25 2017 -0200

    float128: Enable use of IEEE wrapper templates
    
    The templates for the IEEE functions wrappers implement wrappers that
    do not rely on _LIB_VERSION / matherr / __kernel_standard
    functionality to set errno and fix the return value of the functions.
    The wrappers are ready to be used by all floating-point types, however
    they will first be used by float128, since the old wrappers for float,
    double, and long double need to be first deprecated and versioned.
    
    This commits defines __USE_WRAPPER_TEMPLATE to 1 for float128 files,
    so that the new wrapper templates are used for this type.
    
        * sysdeps/generic/math-type-macros-float128.h
        (__USE_WRAPPER_TEMPLATE): Define to 1 to enable use of the
        wrapper templates.

commit 81f26b53b5e9a3520fb3cfd0be743339e13dfb56
Author: Paul E. Murphy <address@hidden>
Date:   Thu May 4 17:00:33 2017 -0300

    float128: Add private _Float128 declarations for libm.
    
    Add the necessary bits to the private headers to support
    building the _Float128 libm functions.
    
    A local override for float.h is provided to include the
    missing *FLT128 macros implied by TS 18661-3 for this
    type when compiling prior to GCC 7.
    
        * include/complex.h (__kernel_casinhf128): New declaration.
        * include/float.h: New file.
        * include/math.h (__finitef128): Add a hidden def.
        (__isinff128): Likewise.
        (__isnanf128): Likewise.
        (__fpclassify): Likewise.
        (__issignalling): Likewise.
        (__expf128): Likewise.
        (__expm1f128): Likewise.
    
        * sysdeps/generic/fix-fp-int-convert-overflow.h:
        (FIX_FLT128_LONG_CONVERT_OVERFLOW): New macro.
        (FIX_FLT128_LLONG_CONVERT_OVERFLOW): Likewise.
    
        * sysdeps/generic/math-type-macros-float128.h: New file.
    
        * sysdeps/generic/math_private.h: Include bits/floatn.h and
        math_private_calls.h for _Float128.
        (__isinff128): New inline implementation used when GCC < 7.0,
        since in this case __builtin_isinf_sign is broken.
        (fabsf128): New inline implementation that calls the builtin.
        (__EXPR_FLT128): New macro.
        (min_of_type): Optionally include _Float128 types too.
    
        * sysdeps/generic/math_private_calls.h (__kernel_sincos):
        Declare for _Float128.
        (__kernel_rem_pio2): Likewise.
    
        * sysdeps/ieee754/ldbl-opt/s_sin.c:
        (__DECL_SIMD_sincos_disablef128): New macro.

commit 33d523d7f8c8ffdeecd03df452d80bfda3bc25d4
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Mon Mar 20 10:07:35 2017 -0300

    float128: Include math-finite.h for _Float128
    
    All the declarations in math-finite.h are macroized by floating-point
    type.  This patch includes it for float128 and protects the
    declarations of functions that need not be declared for float128.
    
        * math/math.h: Include bits/math-finite.h for float128.
        (__MATH_DECLARING_FLOATN): Define to control declaration of
        float128 functions.
        * math/bits/math-finite.h (pow10): Do not declare for float128.
        (gamma): Likewise.
        (scalb): Likewise.

commit fcee5905d341fe975f7786e72c831ada1c8fa78b
Author: Paul E. Murphy <address@hidden>
Date:   Wed Jul 20 11:53:36 2016 -0500

    float128: Add public _Float128 declarations to libm.
    
    This introduces the machine-dependent bits/floatn.h to control
    the inclusion of _Float128 ABI.
    
        * bits/floatn.h: New file.
        * bits/huge_val_flt128.h: Likewise.
    
        * bits/libm-simd-decl-stubs.h (__DECL_SIMD_cosf128): New macro.
        (__DECL_SIMD_sinf128): Likewise.
        (__DECL_SIMD_sincosf128): Likewise.
        (__DECL_SIMD_logf128): Likewise.
        (__DECL_SIMD_expf128): Likewise.
        (__DECL_SIMD_powf128): Likewise.
    
        * math/Makefile (headers): Install bits/floatn.h and
        bits/huge_val_flt128.h.
    
        * math/bits/cmathcalls.h (_Mdouble_complex_): Only define if not
        defined.
    
        * math/bits/mathcalls.h (pow10, isinf, finite, drem, significand)
        (isnan, gamma, nexttoward, scalb): Only define if not
        __MATH_DECLARING_FLOATN.
        (nextdown, nextup, llogb, roundeven, fromfp, ufromfp, fromfpx)
        (ufromfpx, fmaxmag, fminmag, totalorder, totalordermag)
        (canonicalize, getpayload, setpayload, setpayloadsig): Declare for
        _FloatN even if __STDC_WANT_IEC_60559_BFP_EXT__ is not defined.
    
        * math/complex.h: Include bits/libc-header-start.h and bits/floatn.h.
        Include bits/cmathcalls.h to get the declarations of _Float128
        versions of complex functions.
        [__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (CMPLXF128):
        Define macro.
    
        * math/math.h: Include bits/floatn.h and bits/huge_val_flt128.h.
        Include bits/mathcalls-helper-functions.h and bits/mathcalls.h to
        get the declarations of _Float128 versions of math functions.
        (__MATH_DECLARING_FLOATN): New macro to control declaration of
        _FloatN types.
        [__GNUC_PREREQ (6,0)] (signbit): Since GCC 6.0, __builtin_signbit
        is type-generic, so use it without __MATH_TG.
        [__HAVE_DISTINCT_FLOAT128] (isinf): This builtin is broken for
        _Float128 type on GCC < 7.0.  Explicitly call __isinff128 for
        _Float128 type and GCC < 7.0, otherwise use the builtin.
        [__HAVE_FLOAT128 && defined __USE_GNU] (M_Ef128, M_LOG2Ef128)
        (M_LOG10Ef128, M_LN2f128, M_LN10f128, M_PIf128, M_PI_2f128)
        (M_PI_4f128, M_1_PIf128, M_2_PIf128, M_SQRT2f128, M_SQRT1_2f128):
        New _GNU_SOURCE enabled macros.

commit e1d6e08dd6f9298ed7f61ef12c17ca83cb761f37
Author: Joseph Myers <address@hidden>
Date:   Fri May 12 16:37:12 2017 +0000

    Remove useless SPARC signbit aliases.
    
    The SPARC implementations of __signbit* functions have aliases
    signbit, signbitf, signbitl.  These are useless, as they aren't
    exported from the shared libraries (only the __signbit* functions are
    exported, to be used by the type-generic signbit macro with older
    compilers).  This patch removes the useless aliases.
    
    Tested (compilation only) with build-many-glibcs.py for
    sparc64-linux-gnu and sparcv9-linux-gnu.
    
        * sysdeps/sparc/sparc32/fpu/s_signbit.S (signbit): Remove alias.
        (signbitf): Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S (signbit):
        Likewise.
        (signbitl): Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf.S (signbitf):
        Likewise.
        * sysdeps/sparc/sparc64/fpu/s_signbit.S (signbit): Likewise.
        (signbitl): Likewise.
        * sysdeps/sparc/sparc64/fpu/s_signbitf.S (signbitf): Likewise.

commit 1d2bc2eae969543b89850e35e532f3144122d80a
Author: Florian Weimer <address@hidden>
Date:   Fri May 12 11:58:09 2017 +0200

    fork: Remove bogus parent PID assertions [BZ #21386]

commit e8f1225ca4d4afa4043c5267ae6dbe12268e2637
Author: Joseph Myers <address@hidden>
Date:   Fri May 12 11:48:37 2017 +0000

    Remove __ASSUME_STATFS_F_FLAGS.
    
    Now that 3.2 is the minimum Linux kernel version for glibc, this patch
    removes __ASSUME_STATFS_F_FLAGS and associated conditional code.
    
    Tested for x86_64.
    
        * sysdeps/unix/sysv/linux/kernel-features.h
        (__ASSUME_STATFS_F_FLAGS): Remove macro.
        * sysdeps/unix/sysv/linux/internal_statvfs.c
        [!__ASSUME_STATFS_F_FLAGS]: Remove conditional code.

commit 7c3018f9e4de2e9d1f03a749be41b5eced6f9834
Author: Zack Weinberg <address@hidden>
Date:   Sun Nov 20 20:46:30 2016 -0500

    Suppress internal declarations for most of the testsuite.
    
    This patch adds a new build module called 'testsuite'.
    IS_IN (testsuite) implies _ISOMAC, as do IS_IN_build and __cplusplus
    (which means several ad-hoc tests for __cplusplus can go away).
    libc-symbols.h now suppresses almost all of *itself* when _ISOMAC is
    defined; in particular, _ISOMAC mode does not get config.h
    automatically anymore.
    
    There are still quite a few tests that need to see internal gunk of
    one variety or another.  For them, we now have 'tests-internal' and
    'test-internal-extras'; files in this category will still be compiled
    with MODULE_NAME=nonlib, and everything proceeds as it always has.
    The bulk of this patch is moving tests from 'tests' to
    'tests-internal'.  There is also 'tests-static-internal', which has
    the same effect on files in 'tests-static', and 'modules-names-tests',
    which has the *inverse* effect on files in 'modules-names' (it's
    inverted because most of the things in modules-names are *not* tests).
    For both of these, the file must appear in *both* the new variable and
    the old one.
    
    There is also now a special case for when libc-symbols.h is included
    without MODULE_NAME being defined at all.  (This happens during the
    creation of libc-modules.h, and also when preprocessing Versions
    files.)  When this happens, IS_IN is set to be always false and
    _ISOMAC is *not* defined, which was the status quo, but now it's
    explicit.
    
    The remaining changes to C source files in this patch seemed likely to
    cause problems in the absence of the main change.  They should be
    relatively self-explanatory.  In a few cases I duplicated a definition
    from an internal header rather than move the test to tests-internal;
    this was a judgement call each time and I'm happy to change those
    however reviewers feel is more appropriate.
    
        * Makerules: New subdir configuration variables 'tests-internal'
        and 'test-internal-extras'.  Test files in these categories will
        still be compiled with MODULE_NAME=nonlib.  Test files in the
        existing categories (tests, xtests, test-srcs, test-extras) are
        now compiled with MODULE_NAME=testsuite.
        New subdir configuration variable 'modules-names-tests'.  Files
        which are in both 'modules-names' and 'modules-names-tests' will
        be compiled with MODULE_NAME=testsuite instead of
        MODULE_NAME=extramodules.
        (gen-as-const-headers): Move to tests-internal.
        (do-tests-clean, common-mostlyclean): Support tests-internal.
        * Makeconfig (built-modules): Add testsuite.
        * Makefile: Change libof-check-installed-headers-c and
        libof-check-installed-headers-cxx to 'testsuite'.
        * Rules: Likewise.  Support tests-internal.
        * benchtests/strcoll-inputs/filelist#en_US.UTF-8:
        Remove extra-modules.mk.
    
        * config.h.in: Don't check for __OPTIMIZE__ or __FAST_MATH__ here.
        * include/libc-symbols.h: Move definitions of _GNU_SOURCE,
        PASTE_NAME, PASTE_NAME1, IN_MODULE, IS_IN, and IS_IN_LIB to the
        very top of the file and rationalize their order.
        If MODULE_NAME is not defined at all, define IS_IN to always be
        false, and don't define _ISOMAC.
        If any of IS_IN (testsuite), IS_IN_build, or __cplusplus are
        true, define _ISOMAC and suppress everything else in this file,
        starting with the inclusion of config.h.
        Do check for inappropriate definitions of __OPTIMIZE__ and
        __FAST_MATH__ here, but only if _ISOMAC is not defined.
            Correct some out-of-date commentary.
    
        * include/math.h: If _ISOMAC is defined, undefine NO_LONG_DOUBLE
        and _Mlong_double_ before including math.h.
        * include/string.h: If _ISOMAC is defined, don't expose
        _STRING_ARCH_unaligned. Move a comment to a more appropriate
        location.
    
        * include/errno.h, include/stdio.h, include/stdlib.h, include/string.h
        * include/time.h, include/unistd.h, include/wchar.h: No need to
        check __cplusplus nor use __BEGIN_DECLS/__END_DECLS.
    
        * misc/sys/cdefs.h (__NTHNL): New macro.
        * sysdeps/m68k/m680x0/fpu/bits/mathinline.h
        (__m81_defun): Use __NTHNL to avoid errors with GCC 6.
    
        * elf/tst-env-setuid-tunables.c: Include config.h with _LIBC
        defined, for HAVE_TUNABLES.
        * inet/tst-checks-posix.c: No need to define _ISOMAC.
        * intl/tst-gettext2.c: Provide own definition of N_.
        * math/test-signgam-finite-c99.c: No need to define _ISOMAC.
        * math/test-signgam-main.c: No need to define _ISOMAC.
        * stdlib/tst-strtod.c: Convert to test-driver. Split locale_test to...
        * stdlib/tst-strtod1i.c: ...this new file.
        * stdlib/tst-strtod5.c: Convert to test-driver and add copyright notice.
            Split tests of __strtod_internal to...
        * stdlib/tst-strtod5i.c: ...this new file.
        * string/test-string.h: Include stdint.h. Duplicate definition of
        inhibit_loop_to_libcall here (from libc-symbols.h).
        * string/test-strstr.c: Provide dummy definition of
        libc_hidden_builtin_def when including strstr.c.
        * sysdeps/ia64/fpu/libm-symbols.h: Suppress entire file in _ISOMAC
        mode; no need to test __STRICT_ANSI__ nor __cplusplus as well.
        * sysdeps/x86_64/fpu/math-tests-arch.h: Include cpu-features.h.
        Don't include init-arch.h.
        * sysdeps/x86_64/multiarch/test-multiarch.h: Include cpu-features.h.
        Don't include init-arch.h.
    
        * elf/Makefile: Move tst-ptrguard1-static, tst-stackguard1-static,
        tst-tls1-static, tst-tls2-static, tst-tls3-static, loadtest,
        unload, unload2, circleload1, neededtest, neededtest2,
        neededtest3, neededtest4, tst-tls1, tst-tls2, tst-tls3,
        tst-tls6, tst-tls7, tst-tls8, tst-dlmopen2, tst-ptrguard1,
        tst-stackguard1, tst-_dl_addr_inside_object, and all of the
        ifunc tests to tests-internal.
        Don't add $(modules-names) to test-extras.
        * inet/Makefile: Move tst-inet6_scopeid_pton to tests-internal.
        Add tst-deadline to tests-static-internal.
        * malloc/Makefile: Move tst-mallocstate and tst-scratch_buffer to
        tests-internal.
        * misc/Makefile: Move tst-atomic and tst-atomic-long to tests-internal.
        * nptl/Makefile: Move tst-typesizes, tst-rwlock19, tst-sem11,
        tst-sem12, tst-sem13, tst-barrier5, tst-signal7, tst-tls3,
        tst-tls3-malloc, tst-tls5, tst-stackguard1, tst-sem11-static,
        tst-sem12-static, and tst-stackguard1-static to tests-internal.
            Link tests-internal with libpthread also.
        Don't add $(modules-names) to test-extras.
        * nss/Makefile: Move tst-field to tests-internal.
        * posix/Makefile: Move bug-regex5, bug-regex20, bug-regex33,
        tst-rfc3484, tst-rfc3484-2, and tst-rfc3484-3 to tests-internal.
        * stdlib/Makefile: Move tst-strtod1i, tst-strtod3, tst-strtod4,
        tst-strtod5i, tst-tls-atexit, and tst-tls-atexit-nodelete to
        tests-internal.
            * sunrpc/Makefile: Move tst-svc_register to tests-internal.
        * sysdeps/powerpc/Makefile: Move test-get_hwcap and
        test-get_hwcap-static to tests-internal.
        * sysdeps/unix/sysv/linux/Makefile: Move tst-setgetname to
        tests-internal.
        * sysdeps/x86_64/fpu/Makefile: Add all libmvec test modules to
        modules-names-tests.

commit 171199159214f2f548132a98988435f9a450d3ef
Author: Zack Weinberg <address@hidden>
Date:   Wed Mar 1 08:17:07 2017 -0500

    Remove _IO_MTSAFE_IO from public headers.
    
    _IO_MTSAFE_IO controls whether stdio is *built* with support for
    multithreading.  In the distant past it might also have worked as a
    feature selection macro, allowing library *users* to select
    thread-safe or lock-free stdio at application build time, I haven't
    done the archaeology.  Nowadays, defining _IO_MTSAFE_IO while using
    the installed headers, or in _ISOMAC mode, will cause libio.h to throw
    syntax errors.
    
    This patch removes _IO_MTSAFE_IO from the public headers
    (specifically, from libio/libio.h).  The most important thing it
    controlled in there was whether libio.h defines _IO_lock_t itself or
    expects stdio-lock.h to have done it, and we do still need a
    inter-header communication macro for that, because stdio-lock.h can
    only define _IO_lock_t as a typedef.  I've invented
    _IO_lock_t_defined, which is defined by both versions of stdio-lock.h.
    
    _IO_MTSAFE_IO also controlled the definitions of a handful of macros
    that _might_ count as part of the public libio.h interface.  They are
    now unconditionally given their non-_IO_MTSAFE_IO definition in
    libio/libio.h, and include/libio.h redefines them with the
    _IO_MTSAFE_IO definition.  This should minimize the odds of breaking
    old software that actually uses those macros.
    
    I suspect that this entire mechanism is vestigial, and that glibc
    won't build anymore if you *don't* define _IO_MTSAFE_IO, but that's
    another patchset.  The bulk of libio.h is internal-use-only stuff that
    no longer makes sense to expose (libstdc++ gave up on making a FILE
    the same object as a C++ filebuf *decades* ago) but that, too, is
    another patchset.
    
        * libio/libio.h: Condition dummy definition of _IO_lock_t on
        _IO_lock_t_defined, not _IO_MTSAFE_IO. Unconditionally use the
        non-_IO_MTSAFE_IO definitions for _IO_peekc, _IO_flockfile,
        _IO_funlockfile, and _IO_ftrylockfile.  Only define
        _IO_cleanup_region_start and _IO_cleanup_region_end if not
        already defined.
        * include/libio.h: If _IO_MTSAFE_IO is defined, redefine
            _IO_peekc, _IO_flockfile, _IO_funlockfile, and _IO_ftrylockfile
            appropriately.
        * sysdeps/generic/stdio-lock.h, sysdeps/nptl/stdio-lock.h:
        Define _IO_lock_t_defined after defining _IO_lock_t.

commit 31073a53d8ff1e8bac53e34cb626dae5aa6ce69c
Author: Adhemerval Zanella <address@hidden>
Date:   Mon May 8 11:22:20 2017 -0300

    powerpc: Fix signal handling in backtrace
    
    Now with read consolidation which uses SYSCALL_CANCEL macro, a frame
    pointer is created in the syscall code and this makes the powerpc
    backtrace obtain a bogus entry for the signal handling patch.
    
    It is because it does not setup the correct frame pointer register
    (r1) based on the saved value from the kernel sigreturn.  It was not
    failing because the syscall frame pointer register was the same one
    for the next frame (the function that actually called the syscall).
    
    This patch fixes it by setup the next stack frame using the saved
    one by the kernel sigreturn.  It fixes tst-backtrace{5,6} from
    the read consolidation patch.
    
    Checked on powerpc-linux-gnu and powerpc64le-linux-gnu.
    
        * sysdeps/powerpc/powerpc32/backtrace.c (is_sigtramp_address): Use
        void* for argument type and use VDSO_SYMBOL macro.
        (is_sigtramp_address_rt): Likewise.
        (__backtrace): Setup expected frame pointer address for signal
        handling.
        * sysdeps/powerpc/powerpc64/backtrace.c (is_sigtramp_address): Use
        void* for argumetn type and use VSDO_SYMBOL macro.
        (__backtrace): Setup expected frame pointer address for signal
        handling.

commit 488e08b600416ef96d8148fe5239a6387555b1eb
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Nov 3 10:33:52 2015 -0200

    Consolidate Linux writev implementation
    
    This patch consolidates the writev Linux syscall implementation on
    sysdeps/unix/sysv/linux/writev.c.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    arch64-linux-gnu, arm-linux-gnueabihf, and powerpc64le-linux-gnu.
    
        * sysdeps/unix/sysv/linux/writev.c: New file.

commit 679e979bf337ae0c493ee0f77ff43ee06fdc301b
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Nov 3 10:26:18 2015 -0200

    Consolidate Linux readv implementation
    
    This patch consolidates the readv Linux syscall implementation on
    sysdeps/unix/sysv/linux/readv.c.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    arch64-linux-gnu, arm-linux-gnueabihf, and powerpc64le-linux-gnu.
    
        * sysdeps/unix/sysv/linux/readv.c: New file.

commit dfaaee33ba68372e374c14ec05fc8a76bdccdceb
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Nov 3 10:04:25 2015 -0200

    Consolidate Linux write syscall
    
    This patch consolidates the write Linux syscall implementation on
    sysdeps/unix/sysv/linux/write.c.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    arch64-linux-gnu, arm-linux-gnueabihf, and powerpc64le-linux-gnu.
    
        * include/unistd.h (write): Add hidden proto.
        * io/Makefile (CFLAGS-write.c): New rule.
        * nptl/Makefile (CFLAGS-write.c): Likewise.
        * sysdeps/unix/sysv/linux/write.c: New file.

commit f6a191a6ee0313d61dffa70d86b033c5a598f907
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Nov 3 10:13:18 2015 -0200

    Consolidate Linux read syscall
    
    This patch consolidates the read Linux syscall implementation on
    sysdeps/unix/sysv/linux/read.c.  This leads to a different frame
    pointer creation on some architectures:
    
      * It fixes BZ#21428 on aarch64, since now the returned address
        for the read syscall can be correctly found out by
        backtrace_symbols.
    
      * It makes tst-backtrace{5,6} fails on powerpc due an issue on
        its custom backtrace implementation.  It is fixed on subsequent
        patch from this set.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    arch64-linux-gnu, arm-linux-gnueabihf, and powerpc64le-linux-gnu.
    
        [BZ #21428]
        * include/unistd.h (read): Add hidden proto.
        * io/Makefile (CFLAGS-read.c): New rule.
        * nptl/Makefile (CFLAGS-read.c): New rule.
        * sysdeps/unix/sysv/linux/read.c: New file.

commit cab6e5af9d51d4398522af782e20c743daf37461
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Nov 11 14:50:03 2016 -0200

    Consolidate Linux creat implementation
    
    This patch consolidates the creat Linux syscall implementation on
    sysdeps/unix/sysv/linux/creat{64}.c.  The changes are:
    
      1. Remove creat{64} from auto-generation syscalls.list.
      2. Add a new creat{64}.c implementation.  For architectures that
         define __OFF_T_MATCHES_OFF64_T the default creat64 will create
         alias to required creat symbols.
      3. Use __NR_creat where possible, otherwise use internal open{64}
         call with expected flags.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    arch64-linux-gnu, arm-linux-gnueabihf, and powerpc64le-linux-gnu.
    
        * io/Makefile (CFLAGS-creat.c): New rule.
        (CFLAGS-creat64.c): Likewise.
        * sysdeps/unix/sysv/linux/alpha/creat.c: Remove file.
        * sysdeps/unix/sysv/linux/generic/creat.c: Likewise.
        * sysdeps/unix/sysv/linux/wordsize-64/creat64.c: Likewise.
        * sysdeps/unix/sysv/linux/creat.c: New file.
        * sysdeps/unix/sysv/linux/creat64.c: Likewise.
        * sysdeps/unix/sysv/linux/syscalls.list: Remove create from
        auto-generated list.
        * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Likewise.

commit b41152d716ee9c5ba34495a54e64ea2b732139b5
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Nov 11 15:00:03 2016 -0200

    Consolidate Linux open implementation
    
    This patch consolidates the open Linux syscall implementation on
    sysdeps/unix/sysv/linux/open{64}.c.  The changes are:
    
      1. Remove open{64} from auto-generation syscalls.list.
      2. Add a new open{64}.c implementation.  For architectures that
         define __OFF_T_MATCHES_OFF64_T the default open64 will create
         alias to required open symbols.
      3. Use __NR_openat as default syscall for open{64}.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    arch64-linux-gnu, arm-linux-gnueabihf, and powerpc64le-linux-gnu.
    
        * sysdeps/unix/sysv/linux/generic/open.c: Remove file.
        * sysdeps/unix/sysv/linux/generic/open64.c: Likewise.
        * sysdeps/unix/sysv/linux/wordsize-64/open64.c: Likewise.
        * sysdeps/unix/sysv/linux/open.c: New file.
        * sysdeps/unix/sysv/linux/open64.c (__libc_open64): Use O_LARGEFILE
        only for __OFF_T_MATCHES_OFF64_T and add alias to open if the case.
        * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Remove open
        from auto-generated list.

commit 0f01acb340a0544cb0bc5953e81455c68859946e
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Oct 29 19:26:05 2015 -0200

    Consolidate Linux close syscall generation
    
    This patch consolidates the close Linux syscall generation on
    sysdeps/unix/sysv/linux/close.c.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    arch64-linux-gnu, arm-linux-gnueabihf, and powerpc64le-linux-gnu.
    
        * nptl/Makefile (CFLAGS-close.c): New flag.
        * sysdeps/unix/sysv/linux/close.c: New file.

commit e4252e5c5325490742c7ee504345e50a8cd07f35
Author: DJ Delorie <address@hidden>
Date:   Thu May 11 13:38:30 2017 -0400

    Add MAINTAINERS
    
    Add a toplevel file "MAINTAINERS" that only points to the
    MAINTAINERS page on the wiki.

commit 17284d650ebe5c736c9730ee16401008f26128c3
Author: Siddhesh Poyarekar <address@hidden>
Date:   Thu May 11 20:13:49 2017 +0530

    tunables: Make tunable_list relro
    
    As of now we don't need tunables to be writable after they have been
    set initially, so there is no point in having them writable.  Put
    tunable_list in .data.rel.ro so that it is set as read-only after
    relocation.  This also allows us to move some of the dl_* variables
    that are tunables controlled into the tunables infrastructure instead
    of having two copies.
    
    In future if we ever need specific tunables to be writable at runtime,
    we can split the tunable_list into two.
    
    Regression tested on x86_64 to verify that tests continue to pass.
    
        * scripts/gen-tunables.awk: Add attribute_relro to
        tunable_list.

commit 5df4854ed21641e5f82e17677fc385e05480ce3a
Author: Joseph Myers <address@hidden>
Date:   Thu May 11 14:15:26 2017 +0000

    Condition some sys/ucontext.h contents on __USE_MISC (bug 21457).
    
    Continuing the fixes for namespace issues arising from sys/ucontext.h,
    this patch conditions various definitions, that are not needed for
    defining mcontext_t / ucontext_t, on __USE_MISC, so they do not appear
    in strict POSIX modes.
    
    This patch is non-exhaustive; that is, it only conditions
    straightforward cases and there may be more such definitions that can
    be conditioned for these and other architectures, to be dealt with
    later in separate patches.  Also, using __USE_MISC is the minimum
    change for these definitions where they conflict with POSIX; some
    headers already have __USE_GNU conditionals on similar definitions of
    names for registers.  The patch specifically does not do anything with
    definitions in bits/sigcontext.h, and nor does it condition any
    inclusions of bits/sigcontext.h even where in fact that is not needed
    on some architectures for the definitions of mcontext_t / ucontext_t.
    
    As other namespace issues in these headers remain, this patch does not
    fix bug 21457, nor allow any XFAILs to be removed.
    
    Tested with build-many-glibcs.py.
    
        [BZ #21457]
        * sysdeps/arm/sys/ucontext.h (R0): Condition on [__USE_MISC].
        (R1): Likewise.
        (R2): Likewise.
        (R3): Likewise.
        (R4): Likewise.
        (R5): Likewise.
        (R6): Likewise.
        (R7): Likewise.
        (R8): Likewise.
        (R9): Likewise.
        (R10): Likewise.
        (R11): Likewise.
        (R12): Likewise.
        (R13): Likewise.
        (R14): Likewise.
        (R15): Likewise.
        * sysdeps/i386/sys/ucontext.h (REG_GS): Likewise.
        (REG_FS): Likewise.
        (REG_ES): Likewise.
        (REG_DS): Likewise.
        (REG_EDI): Likewise.
        (REG_ESI): Likewise.
        (REG_EBP): Likewise.
        (REG_ESP): Likewise.
        (REG_EBX): Likewise.
        (REG_EDX): Likewise.
        (REG_ECX): Likewise.
        (REG_EAX): Likewise.
        (REG_TRAPNO): Likewise.
        (REG_ERR): Likewise.
        (REG_EIP): Likewise.
        (REG_CS): Likewise.
        (REG_EFL): Likewise.
        (REG_UESP): Likewise.
        (REG_SS): Likewise.
        * sysdeps/m68k/sys/ucontext.h (R_D0): Likewise.
        (R_D1): Likewise.
        (R_D2): Likewise.
        (R_D3): Likewise.
        (R_D4): Likewise.
        (R_D5): Likewise.
        (R_D6): Likewise.
        (R_D7): Likewise.
        (R_A0): Likewise.
        (R_A1): Likewise.
        (R_A2): Likewise.
        (R_A3): Likewise.
        (R_A4): Likewise.
        (R_A5): Likewise.
        (R_A6): Likewise.
        (R_A7): Likewise.
        (R_SP): Likewise.
        (R_PC): Likewise.
        (R_PS): Likewise.
        (fpregset_t): Likewise.
        (MCONTEXT_VERSION): Likewise.
        * sysdeps/mips/sys/ucontext.h (CTX_R0): Likewise.
        (CTX_AT): Likewise.
        (CTX_V0): Likewise.
        (CTX_V1): Likewise.
        (CTX_A0): Likewise.
        (CTX_A1): Likewise.
        (CTX_A2): Likewise.
        (CTX_A3): Likewise.
        (CTX_T0): Likewise.
        (CTX_T1): Likewise.
        (CTX_T2): Likewise.
        (CTX_T3): Likewise.
        (CTX_T4): Likewise.
        (CTX_T5): Likewise.
        (CTX_T6): Likewise.
        (CTX_T7): Likewise.
        (CTX_S0): Likewise.
        (CTX_S1): Likewise.
        (CTX_S2): Likewise.
        (CTX_S3): Likewise.
        (CTX_S4): Likewise.
        (CTX_S5): Likewise.
        (CTX_S6): Likewise.
        (CTX_S7): Likewise.
        (CTX_T8): Likewise.
        (CTX_T9): Likewise.
        (CTX_K0): Likewise.
        (CTX_K1): Likewise.
        (CTX_GP): Likewise.
        (CTX_SP): Likewise.
        (CTX_S8): Likewise.
        (CTX_RA): Likewise.
        (CTX_MDLO): Likewise.
        (CTX_MDHI): Likewise.
        (CTX_CAUSE): Likewise.
        (CTX_EPC): Likewise.
        * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h: Condition
        inclusion of <sys/procfs.h> on [__USE_MISC].
        (greg_t): Condition on [__USE_MISC].
        (gregset_t): Likewise.
        (fpregset_t): Likewise.
        * sysdeps/unix/sysv/linux/arm/sys/ucontext.h (greg_t): Likewise.
        (NGREG): Likewise.
        (gregset_t): Likewise.
        (REG_R0): Likewise.
        (REG_R1): Likewise.
        (REG_R2): Likewise.
        (REG_R3): Likewise.
        (REG_R4): Likewise.
        (REG_R5): Likewise.
        (REG_R6): Likewise.
        (REG_R7): Likewise.
        (REG_R8): Likewise.
        (REG_R9): Likewise.
        (REG_R10): Likewise.
        (REG_R11): Likewise.
        (REG_R12): Likewise.
        (REG_R13): Likewise.
        (REG_R14): Likewise.
        (REG_R15): Likewise.
        (struct _libc_fpstate): Likewise.
        (fpregset_t): Likewise.
        * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h (NGREG): Likewise.
        (NFPREG): Likewise.
        (gregset_t): Likewise.
        (fpregset_t): Likewise.
        * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (R_D0): Likewise.
        (R_D1): Likewise.
        (R_D2): Likewise.
        (R_D3): Likewise.
        (R_D4): Likewise.
        (R_D5): Likewise.
        (R_D6): Likewise.
        (R_D7): Likewise.
        (R_A0): Likewise.
        (R_A1): Likewise.
        (R_A2): Likewise.
        (R_A3): Likewise.
        (R_A4): Likewise.
        (R_A5): Likewise.
        (R_A6): Likewise.
        (R_A7): Likewise.
        (R_SP): Likewise.
        (R_PC): Likewise.
        (R_PS): Likewise.
        (fpregset_t): Likewise.
        (MCONTEXT_VERSION): Likewise.
        * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h (MCONTEXT_VERSION):
        Likewise.
        * sysdeps/unix/sysv/linux/sh/sys/ucontext.h (REG_R0): Likewise.
        (REG_R1): Likewise.
        (REG_R2): Likewise.
        (REG_R3): Likewise.
        (REG_R4): Likewise.
        (REG_R5): Likewise.
        (REG_R6): Likewise.
        (REG_R7): Likewise.
        (REG_R8): Likewise.
        (REG_R9): Likewise.
        (REG_R10): Likewise.
        (REG_R11): Likewise.
        (REG_R12): Likewise.
        (REG_R13): Likewise.
        (REG_R14): Likewise.
        (REG_R15): Likewise.
        * sysdeps/unix/sysv/linux/tile/sys/ucontext.h: Condition inclusion
        of <arch/abi.h> on [__USE_MISC].
        (greg_t): Condition on [__USE_MISC].
        (NGREG): Likewise.
        (gregset_t): Likewise.

commit 0a19a9189678e8719c8423648417b0f44a83fd2c
Author: Adhemerval Zanella <address@hidden>
Date:   Thu May 11 10:46:03 2017 -0300

    Remove wrong definitions from pthread header refactor
    
    This patch removes wrong struct definition from eab380d (Move shared
    pthread definitions to common headers) on ARM and hppa.
    
    Checked on arm-linux-gnueabihf.
    
        * sysdeps/arm/nptl/bits/pthreadtypes-arch.h
        (__pthread_rwlock_arch_t): Remove __data definition.
        * sysdeps/hppa/nptl/bits/pthreadtypes-arch.h
        (__pthread_rwlock_arch_t): Likewise.

commit d53b8652880ba42913f66e7eee0567ce4cfe7791
Author: Florian Weimer <address@hidden>
Date:   Thu May 11 14:48:51 2017 +0200

    inet_pton: Reformat in GNU style
    
    Generated machine code is identical on x86-64.

commit 8ec69bb7ecf3ca5edde5b7d9d7d5d3a5f8b6c405
Author: Florian Weimer <address@hidden>
Date:   Thu May 11 11:32:16 2017 +0200

    support_format_addrinfo: Fix flags and canonname formatting
    
    The address family splitting via format_ai_family made unpredictable
    the place where the canonname field was printed.  This commit adjusts
    the implementation so that the ai_flags is checked for consistency
    across the list, and ai_canonname must only be present on the first
    list element.
    
    Tests for AI_CANONNAME are added to resolv/tst-resolv-basic.

commit 46ce8881ade788db56079622f47f648d4aaa003b
Author: Florian Weimer <address@hidden>
Date:   Thu May 11 10:01:49 2017 +0200

    getaddrinfo: Unconditionally use malloc for address list
    
    getaddrinfo has to call malloc eventually anyway, so the complexity
    of avoiding malloc calls is not worth potential savings.

commit faa9066c4b4a758bb97a8a38173630d821bb6db5
Author: Andreas Schwab <address@hidden>
Date:   Mon May 8 17:49:59 2017 +0200

    Use test-driver in ntpl/tst-fork1.c

commit 8fa11673d6b0feb3804eba6243e4979087e008a8
Author: Joseph Myers <address@hidden>
Date:   Wed May 10 00:25:59 2017 +0000

    Fix rawmemchr build with GCC 8.
    
    The default rawmemchr implementation uses memchr with size (size_t)-1,
    which produces a warning with current GCC mainline.  The warning seems
    reasonable for normal code, so this patch uses the DIAG_* macros to
    disable it.
    
    Tested (compilation of glibc only) with build-many-glibcs.py for
    arm-linux-gnueabi and powerpc64le-linux-gnu, two architectures for
    which the build was previously failing.  Note that the glibc testsuite
    will still fail to build with GCC mainline because of
    <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80669>.
    
        * string/rawmemchr.c: Include <libc-diag.h>.
        (RAWMEMCHR): Disable -Wstringop-overflow around call to memchr
        with size (size_t)-1.

commit d08a482bc2b9a7ae69fd5c587e1f5d12aa317e0d
Author: Joseph Myers <address@hidden>
Date:   Tue May 9 23:16:19 2017 +0000

    Remove MIPS32 accept4, recvmmsg, sendmmsg implementations.
    
    MIPS32 has its own implementations of accept4, recvmmsg and sendmmsg
    because at one point it needed to avoid socketcall being used for
    those functions (MIPS32 has socketcall, but has never used it in
    glibc, and so never had socket.S at the time when socketcall used such
    a per-architecture file instead of C code).  The current code no
    longer uses socketcall based on __NR_socketcall being defined, and the
    syscalls are always present on MIPS for supported kernels so the
    socketcall case in the code is dead for MIPS; this patch removes the
    implementations that are, as Adhemerval noted, no longer needed.
    
    Tested compilation for mips-linux-gnu with build-many-glibcs.py.
    
        * sysdeps/unix/sysv/linux/mips/mips32/accept4.c: Remove file.
        * sysdeps/unix/sysv/linux/mips/mips32/recvmmsg.c: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/sendmmsg.c: Likewise.

commit e3b0580d0d66fbdfc2086c20304c0129f9a5297e
Author: Joseph Myers <address@hidden>
Date:   Tue May 9 21:59:36 2017 +0000

    Simplify accept4, recvmmsg, sendmmsg code.
    
    The accept4, recvmmsg and sendmmsg functions had macros
    __ASSUME_*_SYSCALL_WITH_SOCKETCALL.  Before we could assume kernels
    with the relevant functionality, these macros represented the
    conditions under which, on a socketcall architecture, glibc could just
    call the syscall unconditionally and not have to deal with socketcall
    at all for those functions, because if the syscall didn't work for
    them the socketcall call wouldn't either.
    
    Now we can assume kernels with the relevant functionality, the only
    question is whether we can assume the syscall is present; if not, we
    are on a socketcall architecture and just use socketcall instead.
    Thus, this patch removes the macros that are no longer necessary, and
    simplifies the code for accept4, recvmmsg and sendmmsg to use the same
    logic as the other C implementations of socket functions that may use
    a syscall or socketcall depending on kernel support.
    
    Tested for x86_64 and x86.
    
        * sysdeps/unix/sysv/linux/accept4.c (accept4): Use syscall if
        [__ASSUME_ACCEPT4_SYSCALL], otherwise socketcall.
        * sysdeps/unix/sysv/linux/recvmmsg.c (recvmmsg): Use syscall if
        [__ASSUME_RECVMMSG_SYSCALL], otherwise socketcall.
        * sysdeps/unix/sysv/linux/sendmmsg.c (__sendmmsg): Use syscall if
        [__ASSUME_SENDMMSG_SYSCALL], otherwise socketcall.
        * sysdeps/unix/sysv/linux/kernel-features.h
        (__ASSUME_ACCEPT4_SYSCALL): Move to general list of macros for
        socket syscalls.
        (__ASSUME_RECVMMSG_SYSCALL): Likewise.
        (__ASSUME_SENDMMSG_SYSCALL): Likewise.
        * sysdeps/unix/sysv/linux/i386/kernel-features.h
        (__ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL): Remove.
        (__ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL): Likewise.
        * sysdeps/unix/sysv/linux/microblaze/kernel-features.h
        (__ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL): Remove.
        * sysdeps/unix/sysv/linux/powerpc/kernel-features.h
        (__ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL): Likewise.
        * sysdeps/unix/sysv/linux/sh/kernel-features.h
        (__ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL): Likewise.
        * sysdeps/unix/sysv/linux/sparc/kernel-features.h
        (__ASSUME_ACCEPT4_SYSCALL_WITH_SOCKETCALL): Likewise.
        (__ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL): Likewise.
        (__ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL): Likewise.

commit eab380d8ec9884e90232dceba24161e63ddd26b8
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Apr 4 15:51:10 2017 -0300

    Move shared pthread definitions to common headers
    
    This patch removes all the replicated pthread definition accross the
    architectures and consolidates it on shared headers.  The new
    organization is as follow:
    
      * Architecture specific definition (such as pthread types sizes) are
        place in the new pthreadtypes-arch.h header in arch specific path.
    
      * All shared structure definition are moved to a common NPTL header
        at sysdeps/nptl/bits/pthreadtypes.h (with now includes the arch
        specific one for internal definitions).
    
      * Also, for C11 future thread support, both mutex and condition
        definition are placed in a common header at
        sysdeps/nptl/bits/thread-shared-types.h.
    
    It is also a refactor patch without expected functional changes.
    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, mips{64}-linux-gnu, nios2-linux-gnu,
    powerpc{64le}-linux-gnu, s390{x}-linux-gnu, sparc{64}-linux-gnu,
    tile{pro,gx}-linux-gnu, and x86_64-linux-gnu).
    
        * posix/Makefile (headers): Add pthreadtypes-arch.h and
        thread-shared-types.h.
        * sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h: New file: arch
        specific thread definition.
        * sysdeps/alpha/nptl/bits/pthreadtypes-arch.h: Likewise.
        * sysdeps/arm/nptl/bits/pthreadtypes-arch.h: Likewise.
        * sysdeps/hppa/nptl/bits/pthreadtypes-arch.h: Likewise.
        * sysdeps/ia64/nptl/bits/pthreadtypes-arch.h: Likewise.
        * sysdeps/m68k/nptl/bits/pthreadtypes-arch.h: Likewise.
        * sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h: Likewise.
        * sysdeps/mips/nptl/bits/pthreadtypes-arch.h: Likewise.
        * sysdeps/nios2/nptl/bits/pthreadtypes-arch.h: Likewise.
        * sysdeps/powerpc/nptl/bits/pthreadtypes-arch.h: Likewise.
        * sysdeps/s390/nptl/bits/pthreadtypes-arch.h: Likewise.
        * sysdeps/sh/nptl/bits/pthreadtypes-arch.h: Likewise.
        * sysdeps/sparc/nptl/bits/pthreadtypes-arch.h: Likewise.
        * sysdeps/tile/nptl/bits/pthreadtypes-arch.h: Likewise.
        * sysdeps/x86/nptl/bits/pthreadtypes-arch.h: Likewise.
        * sysdeps/nptl/bits/thread-shared-types.h: New file: shared
        thread definition between POSIX and C11.
        * sysdeps/aarch64/nptl/bits/pthreadtypes.h.: Remove file.
        * sysdeps/alpha/nptl/bits/pthreadtypes.h: Likewise.
        * sysdeps/arm/nptl/bits/pthreadtypes.h: Likewise.
        * sysdeps/hppa/nptl/bits/pthreadtypes.h: Likewise.
        * sysdeps/m68k/nptl/bits/pthreadtypes.h: Likewise.
        * sysdeps/microblaze/nptl/bits/pthreadtypes.h: Likewise.
        * sysdeps/mips/nptl/bits/pthreadtypes.h: Likewise.
        * sysdeps/nios2/nptl/bits/pthreadtypes.h: Likewise.
        * sysdeps/ia64/nptl/bits/pthreadtypes.h: Likewise.
        * sysdeps/powerpc/nptl/bits/pthreadtypes.h: Likewise.
        * sysdeps/s390/nptl/bits/pthreadtypes.h: Likewise.
        * sysdeps/sh/nptl/bits/pthreadtypes.h: Likewise.
        * sysdeps/sparc/nptl/bits/pthreadtypes.h: Likewise.
        * sysdeps/tile/nptl/bits/pthreadtypes.h: Likewise.
        * sysdeps/x86/nptl/bits/pthreadtypes.h: Likewise.
        * sysdeps/nptl/bits/pthreadtypes.h: New file: common thread
        definitions shared across all architectures.

commit 0cb5da5c09e2b2eb47348d110282b92ec27eedf5
Author: Joseph Myers <address@hidden>
Date:   Tue May 9 20:01:52 2017 +0000

    Simplify sendmmsg code.
    
    Now we can assume a kernel with sendmmsg support, this patch
    simplifies the implementation to be similar to that for accept4:
    either using socketcall or the syscall according to whether the
    syscall is known to be available, without further fallback
    implementations.  The __ASSUME_SENDMMSG macro is kept (now defined
    unconditionally), since it's used in resolv/res_send.c.
    
    Tested for x86_64 and x86.
    
        * sysdeps/unix/sysv/linux/kernel-features.h
        (__ASSUME_SENDMMSG_SYSCALL): Define unconditionally.
        (__ASSUME_SENDMMSG): Likewise.
        (__ASSUME_SENDMMSG_SOCKETCALL): Remove macro.
        * sysdeps/unix/sysv/linux/sendmmsg.c (__sendmmsg): Define using
        sendmmsg syscall if that can be assumed to be present, socketcall
        otherwise, with no fallback for runtime failure.

commit 9a45f54310573c190fa270e1f80d8307750305e9
Author: Joseph Myers <address@hidden>
Date:   Tue May 9 20:01:01 2017 +0000

    Simplify recvmmsg code.
    
    Now we can assume a kernel with recvmmsg support, this patch
    simplifies the implementation to be similar to that for accept4:
    either using socketcall or the syscall according to whether the
    syscall is known to be available, without further fallback
    implementations.
    
    (In fact further simplification is possible, getting rid of the
    __ASSUME_*_SYSCALL_WITH_SOCKETCALL macros now that the minimum kernel
    is guaranteed support for all of accept4, recvmmsg, sendmmsg, whether
    through syscalls or through socketcall.  I intend to do that for all
    of accept4 / recvmmsg / sendmmsg together - so making their
    implementations just like those for older socket functions - once the
    basic cleanup for 3.2 minimum kernel is done for sendmmsg as well as
    recvmmsg.)
    
    Tested for x86_64 and x86.
    
        * sysdeps/unix/sysv/linux/kernel-features.h
        (__ASSUME_RECVMMSG_SYSCALL): Define unconditionally.
        (__ASSUME_RECVMMSG_SOCKETCALL): Remove macro.
        (__ASSUME_RECVMMSG): Likewise.
        * sysdeps/unix/sysv/linux/recvmmsg.c (recvmmsg): Define using
        recvmmsg syscall if it can be assumed to be present, socketcall
        otherwise, with no fallback for runtime failure.

commit 4fc12f0eda596b12fb27fb39ea4ac5e68ac4170e
Author: Paul E. Murphy <address@hidden>
Date:   Wed Jul 20 12:14:21 2016 -0500

    Add support for testing __STDC_WANT_IEC_60559_TYPES_EXT__
    
    This macro is defined by TS 18661-3 for supporting the _FloatN and
    _FloatNx types, as well as the functions suffixed with fN.
    
        * bits/libc-header-start.h:
        (__GLIBC_USE_IEC_60559_TYPES_EXT): New macro.
        * include/features.h: Describe __STDC_WANT_IEC_60559_TYPES_EXT__.
        * manual/creature.texi: Likewise.

commit 26265c3bce73ca85a4b6976ba62dc2111b46e414
Author: Paul E. Murphy <address@hidden>
Date:   Fri Jul 15 14:05:51 2016 -0500

    float128: Add _Float128 make bits to libm.
    
    This adds the appropriate common bits for a platform to
    enable float128 and expose ABI.
    
        * math/Makefile:
        (type-float128-suffix): New variable
        (type-float128-routines): Likewise
        (type-float128-yes): Likewise
        (types): Append float128 if supported
        (types-basic): New variable to control the use of templates for
        float, double, and long double, but not for float128 or newer types.
        (type-basic-foreach): Likewise.
    
        * sysdeps/ieee754/float128/Makeconfig: New file.
        * sysdeps/ieee754/float128/Versions: New file.

commit 695d7d138eda449678a1650a8b8b58181033353f
Author: Joseph Myers <address@hidden>
Date:   Tue May 9 14:05:09 2017 +0000

    Assume prlimit64 is available.
    
    This patch makes sysdeps/unix/sysv/linux code assume the prlimit64
    syscall is always available, given the minimum of a 3.2 kernel.
    
    __ASSUME_PRLIMIT64, which in fact was no longer used, is removed.
    Code conditional on __NR_prlimit64 being defined is made
    unconditional.  Fallback code for the case where prlimit64 produces an
    ENOSYS error is removed, substantially simplifying some functions.
    
    Tested for x86_64 and x86.
    
        * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_PRLIMIT64):
        Remove macro.
        * sysdeps/unix/sysv/linux/getrlimit64.c (__getrlimit64): Assume
        prlimit64 is always available and does not give an ENOSYS error.
        * sysdeps/unix/sysv/linux/prlimit.c [__NR_prlimit64]: Make code
        unconditional.
        [!__NR_prlimit64]: Remove conditional code.
        * sysdeps/unix/sysv/linux/setrlimit.c (__setrlimit): Assume
        prlimit64 is always available and does not give an ENOSYS error.
        * sysdeps/unix/sysv/linux/setrlimit64.c (__setrlimit64): Likewise.

commit a972dc672c06845a024a0f98119dc3d9df0b9b77
Author: Zack Weinberg <address@hidden>
Date:   Tue May 9 07:50:56 2017 -0400

    sunrpc/tst-xdrmem2.c: Include stdint.h.

commit 0ad970bb13920b6471ccc4503cf1f0d8b2352f05
Author: Florian Weimer <address@hidden>
Date:   Tue May 9 12:28:01 2017 +0200

    resolv: Use RES_DFLRETRY consistently [BZ #21474]

commit 2bfdaeddaad93425b93c42ef7a75443b96824942
Author: Zack Weinberg <address@hidden>
Date:   Mon May 8 15:52:26 2017 -0400

    Rename cppflags-iterator.mk to libof-iterator.mk, remove extra-modules.mk.
    
    cppflags-iterator.mk no longer has anything to do with CPPFLAGS; all
    it does is set libof-$(foo) for a list of files.  extra-modules.mk
    does the same thing, but with a different input variable, and doesn't
    let the caller control the module.  Therefore, this patch gives
    cppflags-iterator.mk a better name, removes extra-modules.mk, and
    updates all uses of both.
    
        * extra-modules.mk: Delete file.
        * cppflags-iterator.mk: Rename to ...
        * libof-iterator.mk: ...this.  Adjust comments.
    
        * Makerules, extra-lib.mk, benchtests/Makefile, elf/Makefile
        * elf/rtld-Rules, iconv/Makefile, locale/Makefile, malloc/Makefile
        * nscd/Makefile, sunrpc/Makefile, sysdeps/s390/Makefile:
        Use libof-iterator.mk instead of cppflags-iterator.mk or
        extra-modules.mk.
    
        * benchtests/strcoll-inputs/filelist#en_US.UTF-8: Remove
        extra-modules.mk and cppflags-iterator.mk, add libof-iterator.mk.

commit 61f4fa7fd71407b56c32e6be5147d84536697569
Author: Stefan Liebler <address@hidden>
Date:   Tue May 9 09:18:09 2017 +0200

    S390: Regenerate ULPs
    
    Updated ulps file - Needed if build with GCC 7.
    
    ChangeLog:
    
        * sysdeps/s390/fpu/libm-test-ulps: Regenerated.

commit 7224e32d7be41b39358defc0e33d2737307aa06a
Author: Carlos O'Donell <address@hidden>
Date:   Mon May 8 16:11:45 2017 -0400

    vfprintf.c: Refactor magic number 32 into EXTSIZ.
    
    The magic number 32 is used everywhere as extra size to
    use when doing certain operations. This commit refactors
    that into a macro so you can change this value if you're
    debugging something in a local build.

commit 1721145f0341d70a6d7807b172c5eb400b508fc0
Author: Joseph Myers <address@hidden>
Date:   Mon May 8 16:44:54 2017 +0000

    Remove __ASSUME_PROC_PID_TASK_COMM.
    
    This patch removes the __ASSUME_PROC_PID_TASK_COMM macro, and
    associated conditional code (in a testcase), now that 3.2 is the
    global minimum Linux kernel version supported.
    
    Tested for x86_64.
    
        * sysdeps/unix/sysv/linux/kernel-features.h
        (__ASSUME_PROC_PID_TASK_COMM): Remove macro.
        * sysdeps/unix/sysv/linux/tst-setgetname.c: Do not include
        <kernel-features.h>.
        (do_test) [!__ASSUME_PROC_PID_TASK_COMM]: Remove conditional code.

commit 1278ed2c645cc31fc5a71febf309bbec9a9d9f90
Author: Joseph Myers <address@hidden>
Date:   Mon May 8 14:36:42 2017 +0000

    Remove __ASSUME_GETCPU_SYSCALL.
    
    This patch removes the definition of __ASSUME_GETCPU_SYSCALL.  In fact
    this macro is unused, probably since:
    
    commit dd26c44403582fdf10d663170f947dfe4b3207a0
    Author: Adhemerval Zanella <address@hidden>
    Date:   Wed Apr 22 14:21:39 2015 -0300
    
        Consolidate sched_getcpu
    
    so it could have been removed even without the move to 3.2 as minimum
    kernel version on x86_64.
    
    Tested for x86_64.
    
        * sysdeps/unix/sysv/linux/x86_64/kernel-features.h
        (__ASSUME_GETCPU_SYSCALL): Remove macro.

commit c22553effb151532eb95fc1f7bb17a3aebe63202
Author: Florian Weimer <address@hidden>
Date:   Mon May 8 14:57:59 2017 +0200

    support: Prevent multiple deletion of temporary files
    
    Otherwise, another user might recreate these files after the first
    deletion.  Particularly with temporary directories, this could result
    in the removal of unintended files through symbol link attacks.

commit 706256afb6c844a0e6aaab2b60f4326b91aca2e9
Author: Florian Weimer <address@hidden>
Date:   Mon May 8 14:32:58 2017 +0200

    support: Delete temporary files in LIFO order
    
    This is required to remove temporary directories which contain
    temporary files.  Previously, FIFO order meant that directory
    removal was attempted when the directory still contained files,
    which meant that temporary directory cleanup was essentially
    unsupported.

commit cd354a38495425bcf106fc410ec5e3c598c1aebe
Author: Florian Weimer <address@hidden>
Date:   Mon May 8 14:59:21 2017 +0200

    Remove <sys/ultrasound.h>
    
    This header was once used for constants related to the Gravis
    Ultrasound sound card.

commit 139ace95756a61715a18051c102bd67ca5166b3c
Author: Joseph Myers <address@hidden>
Date:   Mon May 8 10:45:20 2017 +0000

    Require Linux kernel 3.2 or later on x86 / x86_64.
    
    As per the recent discussion, this patch implements a requirement for
    Linux 3.2 or later for x86 and x86_64.  This is only the initial
    change to increase the configured minimum; it's expected that followup
    patches would deal with associated removal of conditionals that are no
    longer needed.  If we remove the start-up test on the kernel version,
    of course the NEWS and README text should then be revised (to reflect
    that this version is just one such that glibc does not intend to
    include compatibility code for any older kernel version, rather than
    older kernels necessarily failing to work or glibc necessarily having
    compatibility code for newer interfaces).
    
    The followups would be able to assume presence of getcpu (x86_64),
    recvmmsg (not always through its own syscall, sometimes only through
    socketcall), sendmmsg (likewise), /proc/$pid/task/$tid/comm, f_flags
    from statfs, prlimit64.
    
    Tested for x86_64 and x86.
    
        * sysdeps/unix/sysv/linux/i386/configure.ac (arch_minimum_kernel):
        Remove.
        * sysdeps/unix/sysv/linux/i386/configure: Regenerated.
        * sysdeps/unix/sysv/linux/x86_64/64/configure.ac
        (arch_minimum_kernel): Remove.
        * sysdeps/unix/sysv/linux/x86_64/64/configure: Regenerated.
        * README: Update statement about Linux kernel requirements.

commit 717da4b3bead186d8790b260d5c0dd317a651d8b
Author: Adhemerval Zanella <address@hidden>
Date:   Mon May 1 16:38:56 2017 -0300

    manual: Add preadv and pwritev documentation
    
        * manual/llio.texi: Add preadv and pwritev documentation.

commit 176804300be88f9ceaef7d7a2304b1ed48f0f356
Author: Joseph Myers <address@hidden>
Date:   Thu May 4 20:36:42 2017 +0000

    Fix network headers stdint.h namespace (bug 21455).
    
    conform/ namespace tests of arpa/inet.h, netdb.h and netinet/in.h fail
    for UNIX98 and XPG42 because of inclusion of stdint.h, which defines
    macros not permitted in those headers for those standards.  UNIX98
    allows them to include inttypes.h, but (predating C99) has restricted
    inttypes.h contents (not yet tested in the conform/ tests) not
    including those macros; XPG4.2 has no such permission and no
    inttypes.h / stdint.h at all.
    
    This patch rearranges the headers to avoid this issue.  intN_t
    definitions move to bits/stdint-intn.h, and uintN_t definitions to
    bits/stdint-uintn.h.  (These are not bits/types/ headers because they
    each define four types.  They are separate rather than just a single
    header because sys/types.h defines intN_t but u_intN_t rather than
    uintN_t - and while sys/types.h could define uintN_t because of the
    POSIX reservation of *_t, existing practice there is largely to
    condition types on appropriate feature test macros, and indeed there
    is at least one open bug report (14553) about a type that's not
    so-conditioned, so maybe types there should actually have conditions
    added where appropriate.)  The affected network headers are then made
    to include bits/stdint-uintn.h instead of stdint.h.  This allows six
    XFAILs to be removed.
    
    This doesn't do anything about inttypes.h defining more than it should
    for UNIX98, but we don't have conformtest expectations for that case
    at present (and my inclination is that a fix for that should be as
    local as possible - affecting only inttypes.h, not stdint.h, only for
    the case of __USE_UNIX98 && !__USE_ISOC99).
    
    Tested for x86_64.
    
        [BZ #21455]
        * bits/stdint-intn.h: New file.
        * bits/stdint-uintn.h: Likewise.
        * stdlib/Makefile (headers): Add bits/stdint-intn.h and
        bits/stdint-uintn.h.
        * inet/netinet/in.h: Include <bits/stdint-uintn.h> instead of
        <stdint.h>.
        * posix/sys/types.h: Include <bits/stdint-intn.h>.
        (__int8_t_defined): Do not define here.
        (int8_t): Likewise.
        (int16_t): Likewise.
        (int32_t): Likewise.
        (int64_t): Likewise.
        [__GNUC_PREREQ (2, 7)] (__intN_t): Likewise.
        * resolv/netdb.h: Include <bits/stdint-uintn.h> instead of
        <stdint.h>.
        * include/netdb.h [_ISOMAC]: Do not include <stdint.h>.
        * sysdeps/generic/stdint.h: Include <bits/stdint-intn.h> and
        <bits/stdint-uintn.h>.
        (int8_t): Do not define here.
        (int16_t): Likewise.
        (int32_t): Likewise.
        (int64_t): Likewise.
        (uint8_t): Likewise.
        (uint16_t): Likewise.
        (uint32_t): Likewise.
        (uint64_t): Likewise.
        * conform/Makefile (test-xfail-XPG42/arpa/inet.h/conform): Remove
        variable.
        (test-xfail-XPG42/netdb.h/conform): Likewise.
        (test-xfail-XPG42/netinet/in.h/conform): Likewise.
        (test-xfail-UNIX98/arpa/inet.h/conform): Likewise.
        (test-xfail-UNIX98/netdb.h/conform): Likewise.
        (test-xfail-UNIX98/netinet/in.h/conform): Likewise.

commit 593bf7189a82b9b2874d41c71cb2109482a9f201
Author: Paul E. Murphy <address@hidden>
Date:   Thu May 4 14:47:27 2017 -0300

    ldbl-128: Use mathx_hidden_def inplace of hidden_def
    
    This provides a extra macro expansion before invoking
    the hidden_def macro.  This is necessary to build the
    ldbl-128 files as float128 correctly.
    
        * sysdeps/generic/math_private.h:
        (mathx_hidden_def): New macro.
        * sysdeps/ieee754/ldbl-128/s_finitel.c: Replace hidden_def with
        the above.
        * sysdeps/ieee754/ldbl-128/s_isinfl.c: Likewise.
        * sysdeps/ieee754/ldbl-128/s_isnanl.c: Likewise.

commit 4c3992fc459322a7c712700ba3244fcb125163d7
Author: Joseph Myers <address@hidden>
Date:   Thu May 4 17:38:05 2017 +0000

    Fix signal.h bsd_signal namespace (bug 21445).
    
    signal.h declares bsd_signal for __USE_XOPEN.  But this function was
    obsoleted in the 2001 edition of POSIX and removed in the 2008
    edition, so it should not be declared when the 2008 edition is in use.
    This patch fixes the conditionals accordingly.  (This does not fix any
    conform/ test failures because of other namespace issues in signal.h.)
    
    Tested for x86_64.
    
        [BZ #21445]
        * signal/signal.h [__USE_XOPEN2K8] (bsd_signal): Do not declare.

commit fd9f30f6f9b266405d88eb11b1f8793451629125
Author: Joseph Myers <address@hidden>
Date:   Thu May 4 11:26:33 2017 +0000

    Use __glibc_reserved convention in mcontext, sigcontext (bug 21457).
    
    This patch implements the most straightforward part of fixing
    namespace issues for sys/ucontext.h and related headers: where fields
    in sys/ucontext.h or bits/sigcontext.h are named "reserved", "padding"
    or similar, they are renamed to use the __glibc_reserved* naming
    convention.  It does not change fields with a leading underscore, or
    even those with a prefix such as uc_ or sc_.  It only fixes a small
    part of bug 21457, so no XFAILs are removed.
    
    Tested for x86_64 and x86, and with build-many-glibcs.py.
    
        [BZ #21457]
        * sysdeps/unix/sysv/linux/mips/sys/ucontext.h
        [_MIPS_SIM != _ABIO32] (mcontext_t): Rename field reserved to
        __glibc_reserved1.
        * sysdeps/unix/sysv/linux/x86/bits/sigcontext.h
        (struct _fpx_sw_bytes): Rename field padding to __glibc_reserved1.
        (struct _fpxreg): Likewise.
        [!__x86_64__] (struct _fpstate): Rename field reserved to
        __glibc_reserved1.  Rename field padding to __glibc_reserved2.
        [__x86_64__] (struct _fpstate): Rename field padding to
        __glibc_reserved1.
        (struct _xsave_hdr): Rename field reserved1 to __glibc_reserved1.
        Rename field reserved2 to __glibc_reserved2.
        * sysdeps/unix/sysv/linux/x86/sys/ucontext.h
        [__x86_64__] (struct _libc_fpxreg): Rename field padding to
        __glibc_reserved1.
        [__x86_64__] (struct _libc_fpstate): Rename field padding to
        __glibc_reserved1.

commit 808befbf9edb079c507de4a2f3427c1cb715fa4b
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Thu May 4 12:35:56 2017 +0530

    powerpc: Fix strncat ifunc selection
    
    Correct hwcap usage in strncat introduced by commit
    249dcdb71b79e4c488a46c9027e0014c0bc27044.
    Tested on power7 and power8 systems

commit 1432d38ea04ab5e96f21a382101856db5b49ad8a
Author: H.J. Lu <address@hidden>
Date:   Wed May 3 13:42:42 2017 -0700

    x86: Set dl_platform and dl_hwcap from CPU features [BZ #21391]
    
    dl_platform and dl_hwcap are set from AT_PLATFORM and AT_HWCAP very
    early during startup.  They are used by dynamic linker to determine
    platform and build an array of hardware capability names, which are
    added to search path when loading shared object.  dl_platform and
    dl_hwcap are unused on x86-64.  On i386, i386, i486, i586 and i686
    platforms were supported and only SSE2 capability was used.
    
    On x86, usage of AT_PLATFORM and AT_HWCAP to determine platform and
    processor capabilities is obsolete since all information is available
    in dl_x86_cpu_features.  This patch sets dl_platform and dl_hwcap from
    dl_x86_cpu_features in dynamic linker.  On i386, the available plaforms
    are changed to i586 and i686 since i386 has been deprecated.  On x86-64,
    the available plaforms are haswell, which is for Haswell class processors
    with BMI1, BMI2, LZCNT, MOVBE, POPCNT, AVX2 and FMA, and xeon_phi, which
    is for Xeon Phi class processors with AVX512F, AVX512CD, AVX512ER and
    AVX512PF.  A capability, avx512_1, is also added to x86-64 for AVX512
    ISAs: AVX512F, AVX512CD, AVX512BW, AVX512DQ and AVX512VL.
    
        [BZ #21391]
        * sysdeps/i386/dl-machine.h (dl_platform_init) [IS_IN (rtld)]:
        Only call init_cpu_features.
        [!IS_IN (rtld)]: Only set GLRO(dl_platform) to NULL if needed.
        * sysdeps/x86_64/dl-machine.h (dl_platform_init): Likewise.
        * sysdeps/i386/dl-procinfo.h: Removed.
        * sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Don't include
        <sysdeps/i386/dl-procinfo.h> nor <ldsodefs.h>.  Include
        <sysdeps/x86/dl-procinfo.h>.
        (_dl_procinfo): Replace _DL_HWCAP_COUNT with 32.
        * sysdeps/unix/sysv/linux/x86_64/dl-procinfo.h [!IS_IN (ldconfig)]:
        Include <sysdeps/x86/dl-procinfo.h> instead of
         <sysdeps/generic/dl-procinfo.h>.
        * sysdeps/x86/cpu-features.c: Include <dl-hwcap.h>.
        (init_cpu_features): Set dl_platform, dl_hwcap and dl_hwcap_mask.
        * sysdeps/x86/cpu-features.h (bit_cpu_LZCNT): New.
        (bit_cpu_MOVBE): Likewise.
        (bit_cpu_BMI1): Likewise.
        (bit_cpu_BMI2): Likewise.
        (index_cpu_BMI1): Likewise.
        (index_cpu_BMI2): Likewise.
        (index_cpu_LZCNT): Likewise.
        (index_cpu_MOVBE): Likewise.
        (index_cpu_POPCNT): Likewise.
        (reg_BMI1): Likewise.
        (reg_BMI2): Likewise.
        (reg_LZCNT): Likewise.
        (reg_MOVBE): Likewise.
        (reg_POPCNT): Likewise.
        * sysdeps/x86/dl-hwcap.h: New file.
        * sysdeps/x86/dl-procinfo.h: Likewise.
        * sysdeps/x86/dl-procinfo.c (_dl_x86_hwcap_flags): New.
        (_dl_x86_platforms): Likewise.

commit 3b5f801ddb838311b5b05c218caac3bdb00d7c95
Author: DJ Delorie <address@hidden>
Date:   Wed May 3 16:25:15 2017 -0400

    Tweak realloc/MREMAP comment to be more accurate.
    
    MMap'd memory isn't shrunk without MREMAP, but IIRC this is intentional for
    performance reasons.  Regardless, this patch tweaks the existing comment to
    be more accurate wrt the existing code.
    
        [BZ #21411]
        * malloc/malloc.c: Tweak realloc/MREMAP comment to be more accurate.

commit e35ac97cc887a89f27c0a4ceb789cf4a7d433556
Author: Phil Blundell <address@hidden>
Date:   Wed May 3 20:35:35 2017 +0100

    Correct misplaced comments in struct ip_mreq_source

commit 8ba5c9b8d6ba7dc33e0427e6d547ca68a98c9fb2
Author: Carlos O'Donell <address@hidden>
Date:   Wed May 3 15:37:04 2017 -0400

    Bug 20686: Add address@hidden support.
    
    Despite the fact that el_GR is ISO-8859-7:2003 which contains the euro
    symobl, it is not possible to know this apriori to selecting the el_GR
    locale. Therefore you don't know if el_GR can possibly have the 2003
    ammendments which include the euro symbol. This is resolved by creating
    an address@hidden locale similar to all the other @euro locales for non-UTF8
    charsets.

commit fa17b9c72035d29d359c6ff5bb7b877f5689598b
Author: Carlos O'Donell <address@hidden>
Date:   Wed May 3 15:24:43 2017 -0400

    Bug 20116: Clarify behaviour of PD->lock.
    
    Add comments to the concurrency notes to clarify the semaphore-like and
    mutex-like behaviours of PD->lock.

commit b62c3815912bc679a966134affdedd3f35ae8621
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Nov 21 17:40:19 2016 -0200

    Consolidate Linux epoll_wait syscall
    
    This patch consolidates the epoll_wait Linux syscall generation on
    sysdeps/unix/sysv/linux/epoll_wait.c.  The implementation tries to
    use __NR_epoll_wait if defined, otherwise calls epoll_pwait.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    arch64-linux-gnu, arm-linux-gnueabihf, and powerpc64le-linux-gnu.
    
        * sysdeps/unix/sysv/linux/epoll_wait.c: New file.
        * sysdeps/unix/sysv/linux/generic/epoll_wait.c: Remove file.
        * sysdeps/unix/sysv/linux/syscalls.list: Remove epoll_wait from
        auto-generation list.

commit 26f28fd73d20df8847d93f88b6e2a7bd3bd9bf51
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Nov 18 14:27:03 2016 -0200

    Consolidate Linux select implementation
    
    This patch consolidates the select Linux syscall implementation on
    sysdeps/unix/sysv/linux/select.c.  The changes are:
    
      1. Remove select from auto-generation syscalls.list on the architecture
         that uses __NR_select.
      2. Remove generic implementation add a default one that handle all
         current cases (with the expection of alpha)
         The new default implementation will either use __NR_select if
         available of fallback to __NR_pselect6 otherwise.
      3. Add a alpha outlier implementation which requires old compatibility
         symbols.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    arch64-linux-gnu, arm-linux-gnueabihf, and powerpc64le-linux-gnu.
    
        * sysdeps/unix/sysv/linux/alpha/Makefile (sysdep_routines): Add
        osf_select.
        * sysdeps/unix/sysv/linux/alpha/select.c: New file.
        * sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove select and
        osf_select from auto-generation list.
        * sysdeps/unix/sysv/linux/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/generic/select.c: Remove file.
        * sysdeps/unix/sysv/linux/select.c: New file.

commit b5eede9730eccec155c2374d20d401cd032519fd
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Nov 18 13:56:05 2016 -0200

    Consolidate Linux poll implementation
    
    This patch consolidates the poll Linux syscall implementation on
    sysdeps/unix/sysv/linux/poll.c.  It basically removes poll from
    auto-generation list and add a default implementation that either
    call __NR_poll directly (if the kernel headers defines it) or
    ppoll adjusting the timeout argument (as the generic implementation).
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    aarch64-linux-gnu, arm-linux-gnueabihf, and powerpc64le-linux-gnu.
    
        * sysdeps/unix/sysv/linux/generic/poll.c: Remove file.
        * sysdeps/unix/sysv/linux/poll.c: New file.
        * sysdeps/unix/sysv/linux/syscalls.list: Remove poll from
        auto-generation list.

commit 14ea415d042dcb934a021114c872f3ae7dc7a51c
Author: Joseph Myers <address@hidden>
Date:   Wed May 3 11:04:07 2017 +0000

    Add HWCAP_ASIMDRDM from Linux 4.11 to AArch64 bits/hwcap.h.
    
    This patch adds the HWCAP_ASIMDRDM macro from Linux 4.11 to the
    AArch64 bits/hwcap.h.
    
    Tested (compilation only) with build-many-glibcs.py.
    
        * sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h (HWCAP_ASIMDRDM):
        New macro.

commit b3d9c9a20c7e5cbee15b14990c4972d9df86dac7
Author: Vladimir Mezentsev <address@hidden>
Date:   Tue May 2 16:55:48 2017 -0300

    sparc: handle R_SPARC_DISP64 and R_SPARC_REGISTER relocs
    
    The Studio compiler generates relocation types which are not supported
    in glibc. Handle these relocs.
    
    Tested in sparc64-linux-gnu. No regressions.
    
        BZ #21179]
        * sysdeps/sparc/sparc64/dl-machine.h: Handle R_SPARC_DISP64 and
        R_SPARC_REGISTER relocations.

commit 827b82378366b026413c8e80a78ba880b9f94a18
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Apr 26 18:34:47 2017 -0300

    posix: Fix internal p{read,write} plt usage
    
    This patch adds internal alias for __pread, __pread64, and __pwrite
    following the already in place one for __pwrite64.  This is not used
    in any implementation but on microblaze on preadv/pwritev fallback
    (since it does not define __ASSUME_PREADV).
    
    In fact it was signaled by commit c35db50ff5 which update the expected
    localptl.data for the architecture based on resulted value.  This patch
    updates the plt for microblaze now that p{read,write}{64} are correctly
    routed to use internal alias.
    
    Checked on x86_64-linux-gnu and a build for all supported architectures
    (no all variants although).
    
        * include/unistd.h (__pread): Add libc_hidden_proto.
        (__pread64): Likewise.
        (__pwrite): Likewise.
        * sysdeps/unix/sysv/linux/microblaze/localplt.data [libc.so]
        (__pread64): Remove.
        * sysdeps/unix/sysv/linux/pread.c (__pread64): Add libc_hidden_weak.
        * sysdeps/unix/sysv/linux/pread64.c (__pread64): Likewise.
        * sysdeps/unix/sysv/linux/pwrite.c (__pwrite): Likewise.

commit 24a10cfb3e46e8bf7257c099a2ed7c8814624f05
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Tue May 2 13:38:29 2017 -0300

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

commit fa66f341a06f07a22737227e45f7ccdc615d4274
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Apr 25 18:56:46 2017 -0300

    nptl: Using libsupport for tst-cancel4*
    
    Checked on x86_64-linux-gnu.
    
        * nptl/tst-cancel4-common.c: Use libsupport.
        * nptl/tst-cancel4-common.h: Likewise.
        * nptl/tst-cancel4.c (tf_read): Likewise.
        (tf_readv): Likewise.
        (tf_write): Likewise.
        (tf_writev): Likewise.
        (tf_sleep): Likewise.
        (tf_usleep): Likewise.
        (tf_nanosleep): Likewise.
        (tf_select): Likewise.
        (tf_pselect): Likewise.
        (tf_poll): Likewise.
        (tf_ppoll): Likewise.
        (tf_wait): Likewise.
        (tf_waitpid): Likewise.
        (tf_waitid): Likewise.
        (tf_sigpause): Likewise.
        (tf_sigsuspend): Likewise.
        (tf_sigwait): Likewise.
        (tf_sigwaitinfo): Likewise.
        (tf_sigtimedwait): Likewise.
        (tf_pause): Likewise.
        (tf_accept): Likewise.
        (tf_send): Likewise.
        (tf_recv): Likewise.
        (tf_recvfrom): Likewise.
        (tf_recvmsg): Likewise.
        (tf_open): Likewise.
        (tf_close): Likewise.
        (tf_pread): Likewise.
        (tf_pwrite): Likewise.
        (tf_preadv): Likewise.
        (tf_pwritev): Likewise.
        (tf_fsync): Likewise.
        (tf_fdatasync): Likewise.
        (tf_msync): Likewise.
        (tf_sendto): Likewise.
        (tf_sendmsg): Likewise.
        (tf_creat): Likewise.
        (tf_connect): Likewise.
        (tf_tcdrain): Likewise.
        (tf_msgrcv): Likewise.
        (tf_msgsnd): Likewise.
        * nptl/tst-cancel4_1.c (tf_sendmmsg): Likewise.
        * nptl/tst-cancel4_2.c (tf_recvmmsg): Likewise.

commit ffd6023885e71d026f18a8aec5b6610582e44150
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Apr 21 18:45:27 2017 -0300

    posix: Using libsupport for p{write,read}v tests
    
    Checked on x86_64-linux-gnu.
    
        * misc/tst-preadvwritev-common.c (do_prepare): Use libsupport
        expected arguments.
        (do_test): Adapt to use libsupport.

commit 25e39b4229fb365a605dc4c8f5d6426a77bc08a6
Author: Joseph Myers <address@hidden>
Date:   Mon May 1 16:18:31 2017 +0000

    Add TCP_FASTOPEN_CONNECT from Linux 4.11 to netinet/tcp.h.
    
    This patch adds the TCP_FASTOPEN_CONNECT macro from Linux 4.11 to
    sysdeps/gnu/netinet/tcp.h.
    
    Tested for x86-64.
    
        * sysdeps/gnu/netinet/tcp.h (TCP_FASTOPEN_CONNECT): New macro.

commit ef0e5f2f5c967a4a37b93e28eef6716c4dcda85d
Author: Joseph Myers <address@hidden>
Date:   Mon May 1 15:11:33 2017 +0000

    Add PF_SMC, AF_SMC from Linux 4.11 to bits/socket.h.
    
    This patch adds the PF_SMC / AF_SMC macros from Linux 4.11 to
    sysdeps/unix/sysv/linux/bits/socket.h.
    
    Tested for x86_64.
    
        * sysdeps/unix/sysv/linux/bits/socket.h (PF_SMC): New macro.
        (PF_MAX): Set to 44.
        (AF_SMC): New macro.

commit 3e4df7ef132b347859a64d5231aa40cf857f0a35
Author: Joseph Myers <address@hidden>
Date:   Mon May 1 11:15:43 2017 +0000

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

commit c064f6a613844181f411aabb2662384a6aefb69e
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Fri Apr 28 19:45:52 2017 -0300

    powerpc: Fix logbl on power7 [BZ# 21280]
    
     1. Fix the results for negative subnormals by ignoring the signal when
        normalizing the value.
     2. Fix the output when the high part is a power of 2 and the low part
        is a nonzero number with opposite sign.  This fix is based on commit
        380bd0fd2418f8988217de950f8b8ff18af0cb2b.
    
    After applying this patch, logbl() tests pass cleanly on POWER >= 7.
    
    Tested on powerpc, powerpc64 and powerpc64le
    
        [BZ #21280]
        * sysdeps/powerpc/power7/fpu/s_logbl.c (__logbl): Ignore the
        signal of subnormals and adjust the exponent of power of 2 down
        when low part has opposite sign.

commit 2f7f3cd8cd302bb10908c86f3f7b349df0a78e6a
Author: Paul E. Murphy <address@hidden>
Date:   Fri Jul 15 18:04:40 2016 -0500

    powerpc64le: Create divergent sysdep directory for powerpc64le.
    
    float128 on powerpc64le requires the addition of the ieee754/float128
    sysdep, whereas powerpc64 doesn't.  This requires creating a bunch of
    submachine and cpu directories and Implies files which just point
    towards their powerpc64 equivalent.
    
    Tested on P7, P8, and generic powerpc64le targets with and without
    multiarch.
    
        * sysdeps/powerpc/powerpc64le/Implies: New file.
        * sysdeps/powerpc/powerpc64le/fpu/Implies: New file.
        * sysdeps/powerpc/powerpc64le/fpu/multiarch/Implies: New file.
        * sysdeps/powerpc/powerpc64le/multiarch/Implies: New file.
        * sysdeps/powerpc/powerpc64le/power7/Implies: New file.
        * sysdeps/powerpc/powerpc64le/power7/fpu/Implies: New file.
        * sysdeps/powerpc/powerpc64le/power7/fpu/multiarch/Implies: New file.
        * sysdeps/powerpc/powerpc64le/power7/multiarch/Implies: New file.
        * sysdeps/powerpc/powerpc64le/power8/Implies: New file.
        * sysdeps/powerpc/powerpc64le/power8/fpu/Implies: New file.
        * sysdeps/powerpc/powerpc64le/power8/fpu/multiarch/Implies: New file.
        * sysdeps/powerpc/powerpc64le/power8/multiarch/Implies: New file.
        * sysdeps/powerpc/powerpc64le/power9/Implies: New file.
        * sysdeps/powerpc/powerpc64le/power9/fpu/Implies: New file.
        * sysdeps/powerpc/powerpc64le/power9/fpu/multiarch/Implies: New file.
        * sysdeps/powerpc/powerpc64le/power9/multiarch/Implies: New file.
        * sysdeps/powerpc/preconfigure: New file.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64le/Implies: New file.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64le/fpu/Implies: New file.

commit 085e07db22e5bb6c898cd686c0ae3e7cd4ab17f2
Author: Joseph Myers <address@hidden>
Date:   Fri Apr 28 16:52:16 2017 +0000

    conformtest: Allow time.h inclusion from semaphore.h for XOPEN2K.
    
    POSIX.1:2001 added sem_timedwait, but said nothing about defining
    struct timespec in semaphore.h.  The 2008 edition added a
    corresponding permission to include <time.h> from <semaphore.h>.
    Since this is the normal POSIX approach in such cases, it seems
    appropriate to consider this a bug fix, and so this patch makes the
    conform/ tests allow that inclusion for POSIX.1:2001 as well.
    
    Tested for x86_64.
    
        * conform/data/semaphore.h-data [XOPEN2K] (time.h): Allow header
        inclusion.
        * conform/Makefile (test-xfail-XOPEN2K/semaphore.h/conform):
        Remove.

commit 0516e24d1882ee7f1946b53bec360b400548cb4f
Author: Joseph Myers <address@hidden>
Date:   Thu Apr 27 20:29:35 2017 +0000

    conformtest: Fix XPG standard naming.
    
    The conform/ tests test -D_XOPEN_SOURCE under the name "XPG3", and
    -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED under the name "XPG4".
    
    That naming is misleading.  _XOPEN_SOURCE_EXTENDED actually means
    XPG4.2, including UX-shaded interfaces.  _XOPEN_SOURCE actually means
    XPG4, or XPG4.2 without UX-shaded interfaces.  (Prior XPG versions
    also used _XOPEN_SOURCE, but without any versioning of the values of
    the macro, so XPG4.2 without UX-shaded interfaces is the only sensible
    set of interfaces for glibc to expose given _XOPEN_SOURCE=1 without
    _XOPEN_SOURCE_EXTENDED defined.)
    
    This patch fixes the naming in the conform/ tests, so that what is now
    called XPG4 is changed to XPG42, and what is now called XPG3 is
    changed to XPG4.
    
    Tested for x86_64 (and verified the complete set of expectations is
    unchanged by the patch beyond the intended renaming).
    
        * conform/GlibcConform.pm (XPG4): Rename standard to XPG42.
        (XPG3): Rename standard to XPG4.
        * conform/Makefile: Likewise.
        * conform/list-header-symbols.pl: Likewise.
        * conform/data/aio.h-data: Likewise.
        * conform/data/arpa/inet.h-data: Likewise.
        * conform/data/complex.h-data: Likewise.
        * conform/data/ctype.h-data: Likewise.
        * conform/data/dlfcn.h-data: Likewise.
        * conform/data/fcntl.h-data: Likewise.
        * conform/data/fenv.h-data: Likewise.
        * conform/data/float.h-data: Likewise.
        * conform/data/fmtmsg.h-data: Likewise.
        * conform/data/ftw.h-data: Likewise.
        * conform/data/grp.h-data: Likewise.
        * conform/data/inttypes.h-data: Likewise.
        * conform/data/iso646.h-data: Likewise.
        * conform/data/langinfo.h-data: Likewise.
        * conform/data/libgen.h-data: Likewise.
        * conform/data/limits.h-data: Likewise.
        * conform/data/locale.h-data: Likewise.
        * conform/data/math.h-data: Likewise.
        * conform/data/mqueue.h-data: Likewise.
        * conform/data/ndbm.h-data: Likewise.
        * conform/data/net/if.h-data: Likewise.
        * conform/data/netdb.h-data: Likewise.
        * conform/data/netinet/in.h-data: Likewise.
        * conform/data/poll.h-data: Likewise.
        * conform/data/pthread.h-data: Likewise.
        * conform/data/pwd.h-data: Likewise.
        * conform/data/sched.h-data: Likewise.
        * conform/data/search.h-data: Likewise.
        * conform/data/semaphore.h-data: Likewise.
        * conform/data/signal.h-data: Likewise.
        * conform/data/spawn.h-data: Likewise.
        * conform/data/stdbool.h-data: Likewise.
        * conform/data/stdint.h-data: Likewise.
        * conform/data/stdio.h-data: Likewise.
        * conform/data/stdlib.h-data: Likewise.
        * conform/data/string.h-data: Likewise.
        * conform/data/strings.h-data: Likewise.
        * conform/data/stropts.h-data: Likewise.
        * conform/data/sys/mman.h-data: Likewise.
        * conform/data/sys/resource.h-data: Likewise.
        * conform/data/sys/select.h-data: Likewise.
        * conform/data/sys/socket.h-data: Likewise.
        * conform/data/sys/stat.h-data: Likewise.
        * conform/data/sys/statvfs.h-data: Likewise.
        * conform/data/sys/time.h-data: Likewise.
        * conform/data/sys/timeb.h-data: Likewise.
        * conform/data/sys/types.h-data: Likewise.
        * conform/data/sys/uio.h-data: Likewise.
        * conform/data/sys/un.h-data: Likewise.
        * conform/data/sys/wait.h-data: Likewise.
        * conform/data/syslog.h-data: Likewise.
        * conform/data/termios.h-data: Likewise.
        * conform/data/tgmath.h-data: Likewise.
        * conform/data/time.h-data: Likewise.
        * conform/data/ucontext.h-data: Likewise.
        * conform/data/unistd.h-data: Likewise.
        * conform/data/utmpx.h-data: Likewise.
        * conform/data/varargs.h-data: Likewise.
        * conform/data/wchar.h-data: Likewise.
        * conform/data/wctype.h-data: Likewise.

commit 6ef8a2c76a79f803343d0d1242cacd1265246153
Author: Joseph Myers <address@hidden>
Date:   Wed Apr 26 15:26:47 2017 +0000

    Default build-many-glibcs.py to GCC 7 branch.
    
    Now there is a GCC 7 release branch, this patch makes
    build-many-glibcs.py default to using it instead of GCC 6.
    
    Relative to GCC 6, this fixes the MicroBlaze build but introduces ICEs
    building glibc testcases for SH (GCC PRs 78459, 78460; the latter is
    an out-of-memory issue so you may want to set memory limits when
    running build-many-glibcs.py).
    
        * scripts/build-many-glibcs.py (Context.checkout): Default gcc
        version to 7 branch.

commit 1e1f44de64d12a9539155665cd0aedee7909b00d
Author: Uros Bizjak <address@hidden>
Date:   Fri Apr 14 14:30:57 2017 +0200

    Add earlyclobber to sqrtt/sqrtf insns.
    
    When using software completions, we have to prevent assembler to match
    input and output operands of sqrtt/sqrtf insn. Add earlyclobber to
    output operand to avoid unwanted operand matching.
    
    2017-04-14  Uros Bizjak  <address@hidden>
    
        * sysdeps/alpha/fpu/math_private.h (__ieee754_sqrt): Add
        earlyclobber to output operand of sqrt insn.
        (__ieee754_sqrtf): Ditto.

commit 9fe3c80c7c3dbce34dadc7f0693d211fdd9a0b03
Author: Joseph Myers <address@hidden>
Date:   Tue Apr 25 17:52:47 2017 +0000

    Fix sys/socket.h namespace issues from sys/uio.h inclusion (bug 21426).
    
    sys/socket.h includes sys/uio.h to get the definition of the iovec
    structure.
    
    POSIX allows sys/socket.h to make all sys/uio.h symbols visible.
    However, all of sys/uio.h is XSI-shaded, so for non-XSI POSIX this
    results in conformtest failures (for sys/socket.h and other headers
    that include it):
    
        Namespace violation: "UIO_MAXIOV"
        Namespace violation: "readv"
        Namespace violation: "writev"
    
    Now, there is some ambiguity in POSIX about what namespace
    reservations apply in this case - see
    http://austingroupbugs.net/view.php?id=1127 - but glibc convention
    would still avoid declaring readv and writev, for example, for feature
    test macros that don't include them (if only headers from the relevant
    standard are included), even if such declarations are permitted, so
    there is a bug here according to glibc conventions.
    
    This patch moves the struct iovec definition to a new
    bits/types/struct_iovec.h header and includes that from sys/socket.h
    instead of including the whole of sys/uio.h.  This fixes the namespace
    issue; however, three files in glibc that were relying on the implicit
    inclusion needed to be updated to include sys/uio.h explicitly.  So
    there is a question of whether sys/socket.h should continue to include
    sys/uio.h under some conditions, such as __USE_XOPEN or __USE_MISC or
    __USE_XOPEN || __USE_MISC, for greater compatibility with code that
    (wrongly) expects this optional inclusion to be present there.  (I
    think the three affected files in glibc should still have explicit
    sys/uio.h inclusions added in any case, however.)
    
    Tested for x86_64.
    
        [BZ #21426]
        * misc/bits/types/struct_iovec.h: New file.
        * misc/Makefile (headers): Add bits/types/struct_iovec.h.
        * include/bits/types/struct_iovec.h: New file.
        * bits/uio.h (struct iovec): Replace by inclusion of
        <bits/types/struct_iovec.h>.
        * sysdeps/unix/sysv/linux/bits/uio.h (struct iovec): Likewise.
        * socket/sys/socket.h: Include <bits/types/struct_iovec.h> instead
        of <sys/uio.h>.
        * nptl/tst-cancel4.c: Include <sys/uio.h>
        * posix/test-errno.c: Likewise.
        * support/resolv_test.c: Likewise.
        * conform/Makefile (test-xfail-POSIX2008/arpa/inet.h/conform):
        Remove.
        (test-xfail-POSIX2008/netdb.h/conform): Likewise.
        (test-xfail-POSIX2008/netinet/in.h/conform): Likewise.
        (test-xfail-POSIX2008/sys/socket.h/conform): Likewise.

commit 3fa6e4872d63b57d77c545ef1fbcbb8b0796d232
Author: Joseph Myers <address@hidden>
Date:   Tue Apr 25 16:00:28 2017 +0000

    conformtest: Allow *_t in sys/socket.h.
    
    The conformtest expectations in sys/socket.h are missing the standard
    POSIX allowance for all headers to define *_t names.  For XSI standard
    versions that allowance comes in via the permission to include
    <sys/uio.h> (for which the expectations properly allow *_t), but for
    non-XSI POSIX nothing brings in that allowance and spurious namespace
    failures occur.  This patch adds the required permission to the
    expectations to remove the spurious failures (by itself this does not
    allow any XFAILs to be removed).
    
    Tested for x86_64.
    
        * conform/data/sys/socket.h-data (*_t): Allow.

commit 249548e476495e4714ba1f4593ebc04ce5dc2094
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Apr 24 09:43:41 2017 -0300

    posix: Remove ununsed posix_spawn internal assignment
    
    The internal 'ret' variable in '__spawni_child' function is not
    used after assignment in most cases.
    
    Checked on x86_64-linux-gnu.
    
        * sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Remove ununsed
        assignment.

commit daeb1fa2e1b33323e719015f5f546988bd4cc73b
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Apr 21 10:40:56 2017 -0300

    [BZ 21340] add support for POSIX_SPAWN_SETSID
    
    This patch adds support for the POSIX_SPAWN_SETSID flag.
    
    It was recently accepted by the Austin Group:
    http://austingroupbugs.net/view.php?id=1044
    
    Checked on x86_64
    
        Daurnimator  <address@hidden>
        Adhemerval Zanella  <address@hidden>
    
        [BZ #21340]
        * posix/Makefile (tests): Add tst-posix_spawn-setsid to list of tests.
        * posix/spawn.h: define POSIX_SPAWN_SETSID flag.
        * posix/spawnattr_setflags.c (ALL_FLAGS): Add POSIX_SPAWN_SETSID to
        valid flags.
        * posix/tst-posix_spawn-setsid.c: Add test for POSIX_SPAWN_SETSID.
        * sysdeps/mach/hurd/spawni.c (__spawni): Implementation of
        POSIX_SPAWN_SETSID.
        * sysdeps/posix/spawni.c (__spawni): Likewise.
        * sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Likewise.
        * NEWS: Add note about POSIX_SPAWN_SETSID support.

commit 9581e76dbb4a8dad8a4493ef6833685153edd1d9
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Tue Mar 28 09:48:42 2017 -0300

    Macroize function declarations in math_private.h
    
    This patch moves the declaration of many floating-point functions from
    math_private.h to math_private_calls.h and macroize the declaration to
    be dependent on floating-point type.  For each of float, double, and
    long double, the new header file is included once.  This reduces the
    amount of repetitive boilerplate that will be required when adding
    float128 versions of these functions.
    
    Tested for powerpc64le and s390x.
    
        * sysdeps/generic/math_private.h: Move the declaration of many
        functions to sysdeps/generic/math_private_calls.h.
        * sysdeps/generic/math_private_calls.h: New file with the
        declarations of the functions removed from math_private.h
        macroized by floating-point type.

commit 5ea9ce3749007348a8d12e8eef9e0ccc6fd90aec
Author: Stefan Liebler <address@hidden>
Date:   Fri Apr 21 15:30:00 2017 +0200

    S390: Move utf8-utf32-z9.c to multiarch folder and use s390_libc_ifunc_expr 
macro.
    
    The utf8-utf32-z9.c iconv module is using ifunc and thus the ifunc part 
should
    be in multiarch folder.  Otherwise ifunc is used even if you configure
    with --disable-multi-arch.
    
    This patch moves the ifunc resolvers to the new file
    sysdeps/s390/multiarch/utf8-utf32-z9.c. The resolvers are now implemented
    with s390_libc_ifunc_expr macro instead of using gcc attribute ifunc 
directly.
    
    The ifunc versions are implemented in sysdeps/s390/utf8-utf32-z9.c.
    Each version is only implemented if needed or supported.  Therefore there is
    a block at beginning of the file which selects the versions which should be
    defined depending on support for multiarch, vector-support and used minimum
    architecture level.  This block defines HAVE_[FROM|TO]_[C|CU|VX] to 1 or 0.
    The code below is rearranged and surrounded
    by #if HAVE_[FROM|TO]_[C|CU|VX] == 1.  There is no functional change.
    
    The cu instructions are z9 zarch instructions.  As the major distros are
    already using the newer z196 as architecture level set, those instructions
    can be used as fallback version instead of the c-code.  This behaviour is
    decided at compile time via HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT.
    
    ChangeLog:
    
        * sysdeps/s390/multiarch/utf8-utf32-z9.c: New File.
        * sysdeps/s390/utf8-utf32-z9.c: Move ifunc resolvers to multiarch
        folder and define ifunc versions depending on HAVE_[FROM|TO]_[C|CU|VX].
        (HAVE_FROM_C, HAVE_FROM_CU, HAVE_FROM_VX, HAVE_TO_C, HAVE_TO_VX,
        FROM_LOOP_DEFAULT, FROM_LOOP_C, FROM_LOOP_CU, FROM_LOOP_VX,
        TO_LOOP_DEFAULT, TO_LOOP_C, TO_LOOP_VX): New Define.

commit 85286aaf1dd7216a64964752d147c5ce3c4067d0
Author: Stefan Liebler <address@hidden>
Date:   Fri Apr 21 15:30:00 2017 +0200

    S390: Move utf16-utf32-z9.c to multiarch folder and use 
s390_libc_ifunc_expr macro.
    
    The utf16-utf32-z9.c iconv module is using ifunc and thus the ifunc part 
should
    be in multiarch folder.  Otherwise ifunc is used even if you configure
    with --disable-multi-arch.
    
    This patch moves the ifunc resolvers to the new file
    sysdeps/s390/multiarch/utf16-utf32-z9.c. The resolvers are now implemented
    with s390_libc_ifunc_expr macro instead of using gcc attribute ifunc 
directly.
    
    The ifunc versions are implemented in sysdeps/s390/utf16-utf32-z9.c.
    Each version is only implemented if needed or supported.  Therefore there is
    a block at beginning of the file which selects the versions which should be
    defined depending on support for multiarch, vector-support and used minimum
    architecture level.  This block defines HAVE_[FROM|TO]_[C|VX] to 1 or 0.
    The code below is rearranged and surrounded
    by #if HAVE_[FROM|TO]_[C|VX] == 1.  There is no functional change.
    
    ChangeLog:
    
        * sysdeps/s390/multiarch/utf16-utf32-z9.c: New File.
        * sysdeps/s390/utf16-utf32-z9.c: Move ifunc resolvers to multiarch
        folder and define ifunc versions depending on HAVE_[FROM|TO]_[C|VX].
        (HAVE_FROM_C, HAVE_FROM_VX, HAVE_TO_C, HAVE_TO_VX, FROM_LOOP_DEFAULT,
        FROM_LOOP_C, FROM_LOOP_VX, TO_LOOP_DEFAULT, TO_LOOP_C, TO_LOOP_VX):
        New Define.

commit df6cc7ee3b2e032c6c62cedd30b1c0fefbb43018
Author: Stefan Liebler <address@hidden>
Date:   Fri Apr 21 15:30:00 2017 +0200

    S390: Move utf8-utf16-z9.c to multiarch folder and use s390_libc_ifunc_expr 
macro.
    
    The utf8-utf16-z9.c iconv module is using ifunc and thus the ifunc part 
should
    be in multiarch folder.  Otherwise ifunc is used even if you configure
    with --disable-multi-arch.
    
    This patch moves the ifunc resolvers to the new file
    sysdeps/s390/multiarch/utf8-utf16-z9.c. The resolvers are now implemented
    with s390_libc_ifunc_expr macro instead of using gcc attribute ifunc 
directly.
    
    The ifunc versions are implemented in sysdeps/s390/utf8-utf16-z9.c.
    Each version is only implemented if needed or supported.  Therefore there is
    a block at beginning of the file which selects the versions which should be
    defined depending on support for multiarch, vector-support and used minimum
    architecture level.  This block defines HAVE_[FROM|TO]_[C|CU|VX] to 1 or 0.
    The code below is rearranged and surrounded
    by #if HAVE_[FROM|TO]_[C|CU|VX] == 1.  There is no functional change.
    
    The cu instructions are z9 zarch instructions.  As the major distros are
    already using the newer z196 as architecture level set, those instructions
    can be used as fallback version instead of the c-code.  This behaviour is
    decided at compile time via HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT.
    
    ChangeLog:
    
        * sysdeps/s390/multiarch/utf8-utf16-z9.c: New File.
        * sysdeps/s390/utf8-utf16-z9.c: Move ifunc resolvers to multiarch
        folder and define ifunc versions depending on HAVE_[FROM|TO]_[C|CU|VX].
        (HAVE_FROM_C, HAVE_FROM_CU, HAVE_FROM_VX, HAVE_TO_C, HAVE_TO_VX,
        FROM_LOOP_DEFAULT, FROM_LOOP_C, FROM_LOOP_CU, FROM_LOOP_VX,
        TO_LOOP_DEFAULT, TO_LOOP_C, TO_LOOP_VX): New Define.

commit 51213e2b8d89164527131f3bf6c5946b811c5e3e
Author: Stefan Liebler <address@hidden>
Date:   Fri Apr 21 15:30:00 2017 +0200

    S390: Use new s390_libc_ifunc_expr macro in s390 8bit-generic.c.
    
    This patch adds s390_libc_ifunc_expr macro which uses the __ifunc base macro
    in include/libc-symbols.h and lets the user define a generic expression to
    choose the correct ifunc variant.  Furthermore as the base macro is used,
    the ifunc resolver functions are now also using inhibit_stack_protector.
    S390 needs its own version due to the hwcap argument of the ifunc resolver.
    
    This new macro is now used in iconv code in 8bit-generic.c instead of using
    gcc attribute ifunc directly.
    
    ChangeLog:
    
        * sysdeps/s390/multiarch/ifunc-resolve.h
        (s390_libc_ifunc_expr_init, s390_libc_ifunc_expr): New Define.
        * sysdeps/s390/multiarch/8bit-generic.c
        (__to_generic, __from_generic): Use s390_libc_ifunc_expr to
        define ifunc resolvers.

commit 44e4b889ab0e0497567c8983ad25a78798a3ab51
Author: Florian Weimer <address@hidden>
Date:   Fri Apr 21 10:28:37 2017 +0200

    manual: Document replacing malloc [BZ #20424]

commit 832d8bc00b66adcb98a1c2064a2d555853ea49ed
Author: Joseph Myers <address@hidden>
Date:   Thu Apr 20 20:35:21 2017 +0000

    Do not use wildcard symbol names for public versions in Versions files.
    
    As noted in
    <https://sourceware.org/ml/libc-alpha/2012-12/msg00240.html>,
    stdlib/Versions and wcsmbs/Versions list some functions as
    __strto*_internal and __wcsto*_internal rather than explicitly listing
    the symbols to be exported (so any new internal function matching one
    of those patterns would be wrongly added to version GLIBC_2.0), which
    seems like a bad idea.  This patch changes those files to list the
    exported symbols explicitly.  There are still entries in
    sysdeps/nacl/Versions for __nacl_irt_*, but as GLIBC_PRIVATE symbols
    that seems less significant.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries are unchanged by the patch.
    
        * stdlib/Versions (__strtod_internal): List explicitly, not as
        wildcard.
        (__strtof_internal): Likewise.
        (__strtold_internal): Likewise.
        (__strtol_internal): Likewise.
        (__strtoll_internal): Likewise.
        (__strtoul_internal): Likewise.
        (__strtoull_internal): Likewise.
        (__strtoq_internal): Likewise.
        (__strtouq_internal): Likewise.
        * wcsmbs/Versions (__wcstod_internal): Likewise.
        (__wcstof_internal): Likewise.
        (__wcstold_internal): Likewise.
        (__wcstol_internal): Likewise.
        (__wcstoll_internal): Likewise.
        (__wcstoul_internal): Likewise.
        (__wcstoull_internal): Likewise.

commit d76d3703551a362b472c866b5b6089f66f8daa8e
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Apr 17 10:38:53 2017 -0300

    Fix missing timespec definition for sys/stat.h (BZ #21371)
    
    As indicated by the bug report, the 'struct timespec' definition
    is not defined for '_XOPEN_SOURCE=700' and '_POSIX_C_SOURCE=200112L'.
    
    It is because current code only includes its definition if __USE_ATFILE
    is defined and the define is only set with:
    
      1. _GNU_SOURCE and/or _ATFILE_SOURCE definition.
      2. _POSIX_C_SOURCE >= 200809L
    
    However, the 'st_*' fields in 'struct stat' are defined if __USE_XOPEN2K8.
    This patch uses the same logic for 'struct timespec' inclusion.
    
    Tested on x86_64-linux-gnu.
    
        * io/sys/stat.h: Use __USE_XOPEN2K8 insteaf of __USE_ATFILE for
        struct timespec definition.

commit a0704b1ac7e8dc26f0e0feac58468958305ae844
Author: Florian Weimer <address@hidden>
Date:   Wed Apr 19 19:34:42 2017 +0200

    nss_dns: Correct parentheses for the __glibc_unlikely argument
    
    This fixes commit bee05c9d58a34ec5886faf3b56ecaa56355d94bf.

commit b8129a415ec68858d67747644ad868421a399a49
Author: Florian Weimer <address@hidden>
Date:   Wed Apr 19 19:30:18 2017 +0200

    rcmd/rexec: Fix typo in comment

commit 25cfd50214378545b92ddae04ddd1221c632361b
Author: Zack Weinberg <address@hidden>
Date:   Wed Apr 19 14:39:04 2017 -0400

    A third round of inclusion fixes for _ISOMAC testsuite.
    
        * posix/tst-mmap-offset.c: Include stdint.h.
        * resolv/tst-ns_name_compress.c: Include string.h.
        * resolv/tst-resolv-edns.c: Include resolv.h.

commit bee05c9d58a34ec5886faf3b56ecaa56355d94bf
Author: Florian Weimer <address@hidden>
Date:   Wed Apr 19 14:29:11 2017 +0200

    resolv: Replace __builtin_expect with __glibc_unlikely/__glibc_likely

commit 3e2cf872a5509d5ba903c1766ca533d56c430655
Author: Christopher Chittleborough <address@hidden>
Date:   Wed Apr 19 08:09:40 2017 -0400

    Bug 21399: Fix CP1254 comment for U+00EC

commit 2f83a7294d0d0904d72839843a80531769525d59
Author: Florian Weimer <address@hidden>
Date:   Wed Apr 19 07:45:04 2017 +0200

    Create more sockets with SOCK_CLOEXEC [BZ #15722]

commit e92030239abb4038d4f915d47021d6c037239309
Author: Florian Weimer <address@hidden>
Date:   Wed Apr 19 07:44:48 2017 +0200

    Assume that accept4 is always available and works
    
    Simplify the Linux accept4 implementation based on the assumption
    that it is available in some way.  __ASSUME_ACCEPT4_SOCKETCALL was
    previously unused, so remove it.
    
    For ia64, the accept4 system call (and socket call) were backported
    in kernel version 3.2.18.  Reflect this in the installation
    instructions.

commit 62f71aad7e0d9df95578846134f1738ddf0e7844
Author: Joseph Myers <address@hidden>
Date:   Tue Apr 18 23:51:35 2017 +0000

    conformtest: Enable tests when cross compiling.
    
    This patch enables the compilation part of the conformtest tests (the
    vast bulk of them) when cross compiling, so making it easy to run them
    across many configurations with build-many-glibcs.py.
    
    Tested with build-many-glibcs.py.
    
        * conform/Makefile (tests-special): Do not make addition of
        $(conformtest-header-tests) conditional on [$(cross-compiling) = no].
        (generated): Do not make addition of $(conformtest-header-base)
        conditional on [$(cross-compiling) = no].

commit 2288c2674d050cbbe96a3eb00e7dda1452160c32
Author: Joseph Myers <address@hidden>
Date:   Tue Apr 18 21:22:51 2017 +0000

    Fix bits/socket.h IOC* namespace issues (bug 21267).
    
    sysdeps/unix/sysv/linux/bits/socket.h includes asm/socket.h.  That
    includes asm/sockios.h, which on MIPS includes asm/ioctl.h, resulting
    in namespace violations from IOC* macros.
    
    bits/socket.h already has code to handle asm/socket.h unconditionally
    defining macros that are only wanted for __USE_MISC.  This patch
    extends it to handle the IOC* macros as well (always undefining them
    if not defined when bits/socket.h was included, as I don't think they
    are part of the intended API even for __USE_MISC).
    
    It's possible there should also be a kernel fix - it's not clear to me
    that IOC* belong in the uapi headers, and even if they do they might
    best be split out into another header to avoid getting defined by this
    particular path.  But since glibc needs to deal with existing kernel
    headers, it also seems appropriate to extend the existing workaround
    to these macros.
    
    Tested (compilation only) with build-many-glibcs.py.
    
        [BZ #21267]
        * sysdeps/unix/sysv/linux/bits/socket.h (IOCSIZE_MASK): Undefine
        if defined by <asm/socket.h> and not previously defined.
        (IOCSIZE_SHIFT): Likewise.
        (IOC_IN): Likewise.
        (IOC_INOUT): Likewise.
        (IOC_OUT): Likewise.

commit 4cb334c4d6249686653137ec273d081371b3672d
Author: H.J. Lu <address@hidden>
Date:   Tue Apr 18 14:01:45 2017 -0700

    x86: Use AVX2 memcpy/memset on Skylake server [BZ #21396]
    
    On Skylake server, AVX512 load/store instructions in memcpy/memset may
    lead to lower CPU turbo frequency in certain situations.  Use of AVX2
    in memcpy/memset has been observed to have improved overall performance
    in many workloads due to the higher frequency.
    
    Since AVX512ER is unique to Xeon Phi, this patch sets Prefer_No_AVX512
    if AVX512ER isn't available so that AVX2 versions of memcpy/memset are
    used on Skylake server.
    
        [BZ #21396]
        * sysdeps/x86/cpu-features.c (init_cpu_features): Set
        Prefer_No_AVX512 if AVX512ER isn't available.
        * sysdeps/x86/cpu-features.h (bit_arch_Prefer_No_AVX512): New.
        (index_arch_Prefer_No_AVX512): Likewise.
        * sysdeps/x86_64/multiarch/memcpy.S (__new_memcpy): Don't use
        AVX512 version if Prefer_No_AVX512 is set.
        * sysdeps/x86_64/multiarch/memcpy_chk.S (__memcpy_chk):
        Likewise.
        * sysdeps/x86_64/multiarch/memmove.S (__libc_memmove): Likewise.
        * sysdeps/x86_64/multiarch/memmove_chk.S (__memmove_chk):
        Likewise.
        * sysdeps/x86_64/multiarch/mempcpy.S (__mempcpy): Likewise.
        * sysdeps/x86_64/multiarch/mempcpy_chk.S (__mempcpy_chk):
        Likewise.
        * sysdeps/x86_64/multiarch/memset.S (memset): Likewise.
        * sysdeps/x86_64/multiarch/memset_chk.S (__memset_chk):
        Likewise.

commit 1c53cb49de6d82d9469ccbd5aa0c55924502bd8b
Author: H.J. Lu <address@hidden>
Date:   Tue Apr 18 08:27:22 2017 -0700

    x86: Set Prefer_No_VZEROUPPER if AVX512ER is available
    
    AVX512ER won't be implemented in any Xeon processors and will be in
    all Xeon Phi processors.  Don't check CPU model number when setting
    Prefer_No_VZEROUPPER for Xeon Phi.  Instead, set Prefer_No_VZEROUPPER
    if AVX512ER is available.  It works with current and future Xeon Phi
    and non-Xeon Phi processors.
    
        * sysdeps/x86/cpu-features.c (init_cpu_features): Set
        Prefer_No_VZEROUPPER if AVX512ER is available.
        * sysdeps/x86/cpu-features.h
        (bit_cpu_AVX512PF): New.
        (bit_cpu_AVX512ER): Likewise.
        (bit_cpu_AVX512CD): Likewise.
        (bit_cpu_AVX512BW): Likewise.
        (bit_cpu_AVX512VL): Likewise.
        (index_cpu_AVX512PF): Likewise.
        (index_cpu_AVX512ER): Likewise.
        (index_cpu_AVX512CD): Likewise.
        (index_cpu_AVX512BW): Likewise.
        (index_cpu_AVX512VL): Likewise.
        (reg_AVX512PF): Likewise.
        (reg_AVX512ER): Likewise.
        (reg_AVX512CD): Likewise.
        (reg_AVX512BW): Likewise.
        (reg_AVX512VL): Likewise.

commit cef9b65376a044309f74b77860ccf3c48a4ae315
Author: Florian Weimer <address@hidden>
Date:   Tue Apr 18 14:56:51 2017 +0200

    Assume that O_CLOEXEC is always defined and works

commit b48061e1a534a2421c65e4258418d41a5335ba32
Author: Florian Weimer <address@hidden>
Date:   Tue Apr 18 14:42:19 2017 +0200

    Assume that dup3 is available

commit 46d8874d5b2fcb7831dd84c5e2f6df51922a7936
Author: Florian Weimer <address@hidden>
Date:   Tue Apr 18 14:09:01 2017 +0200

    Assume that pipe2 is always available
    
    The Debian patches for Hurd (which are already required to build
    glibc before this commit) contain an implementation of pipe2.

commit 025b33ae84bb8f15b2748a1d8605dca453fce112
Author: Florian Weimer <address@hidden>
Date:   Tue Apr 18 11:50:58 2017 +0200

    malloc: Turn cfree into a compatibility symbol

commit 6c6ab1fc49d524ab1892cb20ee74352ace0b8034
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Tue Apr 18 11:28:56 2017 +0530

    powerpc64: strrchr optimization for power8
    
    P7 code is used for <=32B strings and for > 32B vectorized loops are used.
    This shows as an average 25% improvement depending on the position of search
    character.  The performance is same for shorter strings.
    Tested on ppc64 and ppc64le.

commit 2604882cefd3281679b8177245fdebc7061b8695
Author: Rabin Vincent <address@hidden>
Date:   Mon Apr 17 12:03:44 2017 -0300

    [BZ 21357] unwind-dw2-fde: Call free() outside of unwind mutex
    
    __deregister_frame_info_bases() calls free() while holding a mutex which
    is also used from _Unwind_Find_FDE().  This leads to a deadlock if
    AddressSanitizer uses _Unwind_Backtrace() from its free()
    implementation.
    
    Checked on mips-linux-gnu and x86_64-linux-gnu.
    
        [BZ #21357]
        * sysdeps/generic/unwind-dw2-fde.c (__deregister_frame_info_bases):
        Call free() outside of mutex.

commit a12ae89f860229cbe5ba91f1f9cf17cc5a9ede31
Author: Florian Weimer <address@hidden>
Date:   Thu Apr 13 21:28:18 2017 +0200

    Assume that O_NOFOLLOW is always defined

commit 44500cbb25bc6e76723304b9ff39f875c04309f9
Author: Florian Weimer <address@hidden>
Date:   Thu Apr 13 13:22:51 2017 +0200

    resolv: Remove EDNS fallback [BZ #21369]
    
    EDNS is disabled by default (so there is interoperability issue), and
    the fallback code is problematic because it prevents an application
    from obtaining DNSSEC data after a FORMERR response.

commit e14a27723cc3a154d67f3f26e719d08c0ba9ad25
Author: Florian Weimer <address@hidden>
Date:   Thu Apr 13 13:09:38 2017 +0200

    resolv: Reduce EDNS payload size to 1200 bytes [BZ #21361]
    
    This hardens the stub resolver against fragmentation-based attacks.

commit c803cb9b24c6cea15698768e4301e963b98e742c
Author: Florian Weimer <address@hidden>
Date:   Thu Apr 13 11:56:28 2017 +0200

    resolv: Support an exactly sized buffer in ns_name_pack [BZ #21359]
    
    This bug did not affect name resolution because those functions
    indirectly call ns_name_pack with a buffer which is always larger
    than the generated query packet, even in the case of the
    longest-possible domain name.

commit a7ff1da8239a5f0e1927db9d5310f53cfea97fc2
Author: Florian Weimer <address@hidden>
Date:   Thu Apr 13 10:52:27 2017 +0200

    resolv: Remove internal and unused definitions from <resolv.h>
    
    The RES_F_* constants are only used with the private _res._flags
    member.  RES_EXHAUSTIVE is unused.  The removed function
    declarations refer to functions not actually exported by glibc,
    so they are unusable by applications.

commit 249dcdb71b79e4c488a46c9027e0014c0bc27044
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Thu Apr 13 11:29:20 2017 +0530

    powerpc: Optimized strncat for POWER8
    
    With new optimized strnlen for POWER8 [1], this patch adds
    strncat for power8 to make use of optimized strlen and strnlen.
    This is faster than POWER7 current implementation for larger strings.
    
    Tested on powerpc64 and powerpc64le.
    
    [1] https://sourceware.org/ml/libc-alpha/2017-03/msg00491.html
    
        * sysdeps/powerpc/powerpc64/multiarch/Makefile (sysdep_routines): Add
        strncat-power8.
        * sysdeps/powerpc/powerpc64/multiarch/strncat.c (strncat): Add
        __strncat_power8 to ifunc list.
        * sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
        (strncat): Add __strncat_power8 to list of strncat functions.
        * sysdeps/powerpc/powerpc64/multiarch/strncat-power8.c: New file.

commit 158d5fa0e1906e7810bdc6ecb7bf598dcc3cd17d
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Apr 6 17:01:56 2017 -0300

    Consolidate Linux mmap implementation (BZ#21270)
    
    This patch consolidates all Linux mmap implementations on default
    sysdeps/unix/sysv/linux/mmap{64}.c one.  To accomodate all required
    architecture specific requeriments a new internal header is created
    (mmap_internal.h) where each architecture add its specific code
    requirements.  Currently only x86_64 (to define MMAP_PREPARE to add
    MAP_32BITS), s390 (which have a different kernel ABI for mmap), m68k
    (which have variable minimum page sizes), and MIPS n32 (which zero
    extend the offset to handle negative one correctly) redefine the new
    header.
    
    The patch also fixes BZ#21270 where default mmap64 on architectures
    which uses mmap2 silent truncates large offsets value (larger than
    1 << (page shift + 8 * sizeof (off_t)) or 1<<44 on architectures with
    4096 bytes page size).  The new consolidate implementation returns
    EINVAL as allowed by POSIX.
    
    It also adds a tests for on current tst-mmap-offset one.  I have run
    a full make check on x86_64, x86_64-32, i686, aarch64, armhf, powerpc,
    powerpc64le, sparc64, and sparcv9 without any regressions.  I also ran
    some basic tests (tst-mmap-offset) on sh4, m68k, and on qemu simulated
    MIPS32 and MIPS64.
    
        [BZ #21270]
        * posix/tst-mmap-offset.c (do_prepare): New function.
        (do_test): Rename to do_test_bz18877 and use FAIL_RET.
        (do_test_bz21270): New function.
        * sysdeps/unix/sysv/linux/aarch64/mmap.c: Remove file.
        * sysdeps/unix/sysv/linux/arm/mmap.c: Remove file.
        * sysdeps/unix/sysv/linux/generic/wordsize-32/mmap.c: Likewise.
        * sysdeps/unix/sysv/linux/hppa/mmap.c: Likewise.
        * sysdeps/unix/sysv/linux/i386/mmap.c: Likewise.
        * sysdeps/unix/sysv/linux/m68k/mmap.S: Likewise.
        * sysdeps/unix/sysv/linux/m68k/mmap64.c: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/mmap.S: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/mmap.c: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n32/mmap.c: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n64/mmap64.c: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/mmap.S: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/mmap64.S: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/mmap.S: Likewise.
        * sysdeps/unix/sysv/linux/wordsize-64/mmap.c: Likewise.
        * sysdeps/unix/sysv/linux/wordsize-64/mmap64.c: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/mmap.c: Likewise.
        * sysdeps/unix/sysv/linux/mmap_internal.h: New file.
        * sysdeps/unix/sysv/linux/m68k/mmap_internal.h: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n32/mmap_internal.h: Likewise.
        * sysdeps/unix/sysv/linux/s390/mmap_internal.h: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/mmap_internal.h: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list: Remove mmap
        from auto-generation list.
        * sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/mmap.c: New file.
        * sysdeps/unix/sysv/linux/mmap64.c (__mmap64): Add check for invalid
        offsets and support for mmap2 syscall.

commit 4fee33f8c11447d345b2b1118a98958b54d5fda3
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Apr 11 15:08:02 2017 -0300

    posix: Add cleanup on the trap list for globtest.sh
    
    This patch prevents lingering files for SIGSEGV failures by adding
    a cleanup handler on trap handler.  Checked on x86_64-linux-gnu.
    
        * posix/globtest.sh: Add cleanup routine on trap 0.

commit b6a66222096c2c4a93818e86cda1aff1e37ee451
Author: Wainer dos Santos Moschetta <address@hidden>
Date:   Tue Apr 11 14:18:36 2017 -0300

    powerpc: refactor memcmp and memmove IFUNC.
    
    Clean up the IFUNC implementations for powerpc in order to remove
    unneeded macro definitions.
    
    Tested on ppc64le with and without --disable-multi-arch flag.
    
        * sysdeps/powerpc/powerpc64/multiarch/memcmp-power4.S: Define the
        implementation-specific function name and remove unneeded
        macros definition.
        * sysdeps/powerpc/powerpc64/multiarch/memcmp-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/memmove-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/power4/memcmp.S: Set a default function
        name if not defined and pass as parameter to macros accordingly.
        * sysdeps/powerpc/powerpc64/power7/memcmp.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/memmove.S: Likewise.

commit 72fd128a08028488dbba13388dd38ec7fddd63f4
Author: Wainer dos Santos Moschetta <address@hidden>
Date:   Tue Apr 11 14:18:35 2017 -0300

    powerpc: refactor memcpy and mempcpy IFUNC.
    
    Clean up the IFUNC implementations for powerpc in order to remove
    unneeded macro definitions.
    
    Tested on ppc64le with and without --disable-multi-arch flag.
    
        * sysdeps/powerpc/powerpc64/multiarch/memcpy-a2.S: Define the
        implementation-specific function name and remove unneeded
        macros definition.
        * 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/mempcpy-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/a2/memcpy.S: Set a default function
        name if not defined and pass as parameter to macros accordingly.
        * sysdeps/powerpc/powerpc64/cell/memcpy.S: Likewise.
        * sysdeps/powerpc/powerpc64/memcpy.S: Likewise.
        * sysdeps/powerpc/powerpc64/power4/memcpy.S: Likewise.
        * sysdeps/powerpc/powerpc64/power6/memcpy.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/memcpy.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/mempcpy.S: Likewise.

commit ff06a55aef1a1826dadcebfee8baeaa10ce705a0
Author: Wainer dos Santos Moschetta <address@hidden>
Date:   Tue Apr 11 14:18:35 2017 -0300

    powerpc: refactor memchr, memrchr, and rawmemchr IFUNC.
    
    Clean up the IFUNC implementations for powerpc in order to remove
    unneeded macro definitions.
    
    Tested on ppc64le with and without --disable-multi-arch flag.
    
        * sysdeps/powerpc/powerpc64/multiarch/memchr-power7.S: Define the
        implementation-specific function name and remove unneeded macros
        definition.
        * sysdeps/powerpc/powerpc64/multiarch/memrchr-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/rawmemchr-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/memchr.S: Set a default
        function name if not defined and pass as parameter to macros
        accordingly.
        * sysdeps/powerpc/powerpc64/power7/memrchr.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/rawmemchr.S: Likewise.

commit 18e0054bf7c57cb5e6b90961be167164d58b1098
Author: Wainer dos Santos Moschetta <address@hidden>
Date:   Tue Apr 11 14:18:35 2017 -0300

    powerpc: refactor memset IFUNC.
    
    Clean up the IFUNC implementations for powerpc in order to remove
    unneeded macro definitions.
    
    Tested on ppc64le with and without --disable-multi-arch flag.
    
        * sysdeps/powerpc/powerpc64/multiarch/memset-power4.S: Define the
        implementation-specific function name and remove unneeded macros
        definition.
        * 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/memset-ppc64.S: Likewise.
        * sysdeps/powerpc/powerpc64/memset.S: Set a default function name if
        not defined and pass as parameter to macros accordingly.
        * sysdeps/powerpc/powerpc64/power4/memset.S: Likewise.
        * sysdeps/powerpc/powerpc64/power6/memset.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/memset.S: Likewise.
        * sysdeps/powerpc/powerpc64/power8/memset.S: Likewise.

commit f0748b70a84fc9f08507b58841356e45ea516076
Author: Wainer dos Santos Moschetta <address@hidden>
Date:   Tue Apr 11 14:18:35 2017 -0300

    powerpc: refactor strcasestr and strstr IFUNC.
    
    Clean up the IFUNC implementations for powerpc in order to remove
    unneeded macro definitions.
    
    Tested on ppc64le with and without --disable-multi-arch flag.
    
        * sysdeps/powerpc/powerpc64/multiarch/strcasestr-power8.S: Define the
        strcasestr implementation name and remove unneeded macros definition.
        * sysdeps/powerpc/powerpc64/multiarch/strstr-power7.S: Define
        strstr implementation name and remove unneeded macros definition.
        * sysdeps/powerpc/powerpc64/power7/strstr.S: Set a default function
        name if not defined and pass as parameter to macros accordingly.
        * sysdeps/powerpc/powerpc64/power8/strcasestr.S: Likewise.

commit 6d15a5c2e9450a1e926d5b4991759e1cfa50fccf
Author: Wainer dos Santos Moschetta <address@hidden>
Date:   Tue Apr 11 14:18:35 2017 -0300

    powerpc: refactor strchr, strchrnul, and strrchr IFUNC.
    
    Clean up the IFUNC implementations for powerpc in order to remove
    unneeded macro definitions.
    
    Tested on ppc64le with and without --disable-multi-arch flag.
    
        * sysdeps/powerpc/powerpc64/multiarch/strchr-power7.S: Define the
        implementation-specific function name and remove unneeded macros
        definition.
        * 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/strrchr-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/strchr.S: Set a default
        function name if not defined and pass as parameter to macros
        accordingly.
        * sysdeps/powerpc/powerpc64/power7/strchrnul.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/strrchr.S: Likewise.
        * sysdeps/powerpc/powerpc64/power8/strchr.S: Likewise.
        * sysdeps/powerpc/powerpc64/strchr.S: Likewise.

commit 001649fd18712a8d508a21781e8059ef1e9bcecf
Author: Wainer dos Santos Moschetta <address@hidden>
Date:   Tue Apr 11 14:18:35 2017 -0300

    powerpc: refactor strnlen and strlen IFUNC.
    
    Clean up the IFUNC implementations for powerpc in order to remove
    unneeded macro definitions.
    
    Tested on ppc64le with and without --disable-multi-arch flag.
    
        * sysdeps/powerpc/powerpc64/multiarch/strlen-power7.S: Define
        the strlen implementation name and remove unneeded macros definition.
        * sysdeps/powerpc/powerpc64/multiarch/strlen-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strlen-ppc64.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strnlen-power7.S: Define
        the strnlen implementation name and remove unneeded macros definition.
        * sysdeps/powerpc/powerpc64/power7/strlen.S: Set a default function
        name if not defined and pass as parameter to macros accordingly.
        * sysdeps/powerpc/powerpc64/power7/strnlen.S: Likewise.
        * sysdeps/powerpc/powerpc64/power8/strlen.S: Likewise.
        * sysdeps/powerpc/powerpc64/strlen.S: Likewise.

commit 3bc426e156c6952a1b7e32435c308aaab76616a1
Author: Wainer dos Santos Moschetta <address@hidden>
Date:   Tue Apr 11 14:18:34 2017 -0300

    powerpc: refactor strcasecmp, strcmp, and strncmp IFUNC.
    
    Clean up the IFUNC implementations for powerpc in order to remove
    unneeded macro definitions.
    
    Tested on ppc64le with and without --disable-multi-arch flag.
    
        * sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l-power7.S: Define
        the implementation-specific function name and remove unneeded
        macros definition.
        * 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/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/power4/strncmp.S: Set a default function
        name if not defined and pass as parameter to macros accordingly.
        * sysdeps/powerpc/powerpc64/power7/strcmp.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/strncmp.S: Likewise.
        * sysdeps/powerpc/powerpc64/power8/strcmp.S: Likewise.
        * sysdeps/powerpc/powerpc64/power8/strncmp.S: Likewise.
        * sysdeps/powerpc/powerpc64/power9/strcmp.S: Likewise.
        * sysdeps/powerpc/powerpc64/power9/strncmp.S: Likewise.
        * sysdeps/powerpc/powerpc64/strcmp.S: Likewise.
        * sysdeps/powerpc/powerpc64/strncmp.S: Likewise.

commit dbcc7d089390f53ec90c1cbd3bea165b924a023a
Author: Wainer dos Santos Moschetta <address@hidden>
Date:   Tue Apr 11 14:18:34 2017 -0300

    powerpc: refactor stpcpy, stpncpy, strcpy, and strncpy IFUNC.
    
    Clean up the IFUNC implementations for powerpc in order to remove
    unneeded macro definitions.
    
    Tested on ppc64le with and without --disable-multi-arch flag.
    
        * sysdeps/powerpc/powerpc64/multiarch/stpcpy-power8.S: Define the
        implementation-specific function name and remove unneeded macros
        definition.
        * sysdeps/powerpc/powerpc64/multiarch/stpncpy-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/stpncpy-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strcpy-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strncpy-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strncpy-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/power7/strncpy.S: Set a default
        function name if not defined.
        * sysdeps/powerpc/powerpc64/power8/strcpy.S: Likewise.
        * sysdeps/powerpc/powerpc64/power8/strncpy.S: Likewise.

commit d031600dd2e8381e9cd2ccc20c4ce94a04f04eaf
Author: Paul Clarke <address@hidden>
Date:   Tue Apr 11 11:19:28 2017 -0300

    Support auxilliary vector components for cache geometries.
    
    Add support to getauxval() for new types to get L1, L2, L3 cache sizes,
    cache line sizes, and cache associativities.  The new types for
    getauxval() were added in the stream for Linux kernel v4.11 in commit
    98a5f361b8625c6f4841d6ba013bbf0e80d08147.
    
        * elf/elf.h (AT_L1I_CACHESIZE, AT_L1I_CACHEGEOMETRY, AT_L1D_CACHESIZE,
        AT_L1D_CACHEGEOMETRY, AT_L2_CACHESIZE, AT_L2_CACHEGEOMETRY,
        AT_L3_CACHESIZE, AT_L3_CACHEGEOMETRY): New.  Add auxvec
        identifiers from kernel arch/powerpc/include/uapi/asm/auxvec.h.

commit a42478b7bf10e9f890466c91280d9b24908ca980
Author: Florian Weimer <address@hidden>
Date:   Tue Apr 11 18:04:34 2017 +0200

    manual: readdir, readdir64 are thread-safe
    
    They only modify the state in the dirstream argument, and we
    generally do not treat this as a reason to mark a function as
    not thread-safe.  For an example, see random_r, which is marked
    as thread-safe even though the random state is not protected
    by a lock.

commit 38efe8c5a5c1676f54481caa81980a93f7223479
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Apr 4 15:49:43 2017 -0300

    Consolidate pthreadtype.h placementConsolidate pthreadtype.h placement
    
    This patch moves all arch specific pthreadtypes.h to a similar path
    for all architectures (sysdeps/unix/sysv/<arch>/bits).  No functional
    or build change is expected.  The idea is mainly to organize the
    header placement for all architectures.
    
    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,
    tile{pro,gx}-linux-gnu, and x86_64-linux-gnu).
    
        * sysdeps/unix/sysv/linux/x86/Implies: New file.
        * sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h: Move to ...
        * sysdeps/alpha/nptl/bits/pthreadtypes.h: ... here.
        * sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Move to ...
        * sysdeps/powerpc/nptl/bits/pthreadtypes.h: ... here.
        * sysdeps/x86/bits/pthreadtypes.h: Move to ...
        * sysdeps/x86/nptl/bits/pthreadtypes.h: ... here.

commit fda19e04387359e1bc8c30f0eda5a61d976942ff
Author: H.J. Lu <address@hidden>
Date:   Mon Apr 10 12:01:30 2017 -0700

    Add sysdeps/x86/dl-procinfo.c
    
    Add sysdeps/x86/dl-procinfo.c for x86 version of processor capability
    information to reduce duplication between i386 and x86_64 dl-procinfo.c.
    
        * sysdeps/i386/dl-procinfo.c: Include
        <sysdeps/x86/dl-procinfo.c>.
        * sysdeps/x86_64/dl-procinfo.c: Likewise.
        * sysdeps/x86/dl-procinfo.c: New file.

commit 6d4adeb700840bab65165223e058ddc459cf07b8
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Mon Mar 27 16:23:58 2017 -0300

    Remove unneeded declarations from math_private.h
    
    The declarations of many functions in math_private.h are not required
    since __MATHDECL and __MATHDECLX, in math.h, already provide the
    declarations for these functions.  This patch removes the declarations
    from math_private.h. It also adds the inclusion of math.h to the files
    which depended on the declaration of functions in math_private.h.
    
    Tested for powerpc64le and s390x.
    
        * sysdeps/generic/math_private.h: Remove declarations of
        many functions that are already declared in math.h.
        * sysdeps/ieee754/ldbl-128/e_logl.c: Include math.h to get the
        declaration for __frexpl.
        * sysdeps/ieee754/ldbl-128ibm/e_logl.c: Include math.h to get
        the declarations for __scalbnl and fabsl.

commit 9ace4692b2fa96c1c92177bb51e5e36680de25ad
Author: Dmitry V. Levin <address@hidden>
Date:   Wed Nov 16 22:49:25 2016 +0000

    Check for __mprotect failure in _dl_map_segments [BZ #20831]
    
    * elf/dl-map-segments.h (_dl_map_segments): Check for failure
    of __mprotect to change protection on the excess portion
    to disallow all access.

commit bf7730194fed694a9ce821c306683266a5a7b78b
Author: H.J. Lu <address@hidden>
Date:   Fri Apr 7 07:44:40 2017 -0700

    Check if SSE is available with HAS_CPU_FEATURE
    
    Similar to other CPU feature checks, check if SSE is available with
    HAS_CPU_FEATURE.
    
        * sysdeps/i386/fpu/fclrexcpt.c (__feclearexcept): Use
        HAS_CPU_FEATURE to check for SSE.
        * sysdeps/i386/fpu/fedisblxcpt.c (fedisableexcept): Likewise.
        * sysdeps/i386/fpu/feenablxcpt.c (feenableexcept): Likewise.
        * sysdeps/i386/fpu/fegetenv.c (__fegetenv): Likewise.
        * sysdeps/i386/fpu/fegetmode.c (fegetmode): Likewise.
        * sysdeps/i386/fpu/feholdexcpt.c (__feholdexcept): Likewise.
        * sysdeps/i386/fpu/fesetenv.c (__fesetenv): Likewise.
        * sysdeps/i386/fpu/fesetmode.c (fesetmode): Likewise.
        * sysdeps/i386/fpu/fesetround.c (__fesetround): Likewise.
        * sysdeps/i386/fpu/feupdateenv.c (__feupdateenv): Likewise.
        * sysdeps/i386/fpu/fgetexcptflg.c (__fegetexceptflag): Likewise.
        * sysdeps/i386/fpu/fsetexcptflg.c (__fesetexceptflag): Likewise.
        * sysdeps/i386/fpu/ftestexcept.c (fetestexcept): Likewise.
        * sysdeps/i386/setfpucw.c (__setfpucw): Likewise.
        * sysdeps/x86/cpu-features.h (bit_cpu_SSE): New.
        (index_cpu_SSE): Likewise.
        (reg_SSE): Likewise.

commit 893ba3eac9b07d0d5feac232c551af0e163f939c
Author: Paul Eggert <address@hidden>
Date:   Fri Apr 7 07:54:57 2017 -0400

    getopt: merge from gnulib: use angle-bracket includes consistently
    
        * posix/getopt1.c: Include <config.h>, not "config.h".

commit 06576cbf4eae13324985df1a690afa2705c992cc
Author: Zack Weinberg <address@hidden>
Date:   Wed Apr 5 11:04:35 2017 -0400

    getopt: annotate files with relationship to gnulib.
    
    As the final act in this patchset, adjust the "This file is part of
    the GNU C Library" message at the top of each file to indicate which
    files are synced with gnulib.
    
        * posix/bits/getopt_core.h, posix/bits/getopt_ext.h
        * posix/getopt.c, posix/getopt1.c, posix/getopt_int.h:
        Mention in top-of-file boilerplate that these files are shared
        with gnulib.
        * posix/getopt.h, posix/bits/getopt_posix.h:
        Mention in top-of-file boilerplate that these files are NOT shared
        with gnulib, unlike the rest of the getopt implementation.

commit 10a33cf8b403e3c031c5dd10a06b4a2a6489e48c
Author: Zack Weinberg <address@hidden>
Date:   Sat Mar 25 11:24:24 2017 -0400

    getopt: eliminate __need_getopt by splitting up getopt.h.
    
    __need_getopt is misnamed; what it really means is "we want only the
    getopt features specified in POSIX, not the GNU extensions".  Because
    this code is shared with gnulib, it winds up being cleanest to split
    getopt.h into *four* headers.  getopt_core.h and getopt_ext.h will
    be shared with gnulib, getopt_posix.h will be just for glibc, and
    each project will have its own copy of getopt.h.
    
        * posix/bits/getopt_core.h, posix/bits/getopt_ext.h:
        New files, intended to be shared with gnulib.
        * posix/bits/getopt_posix.h:
        New file, not intended to be shared with gnulib.
        * posix/getopt.h: Now just includes features.h,
        bits/getopt_core.h, and bits/getopt_ext.h.  Will
        no longer be shared with gnulib.
        * include/bits/getopt_core.h, include/bits/getopt_ext.h
        * include/bits/getopt_posix.h: New wrappers.
        * posix/Makefile: Install new headers.
        * posix/unistd.h, libio/stdio.h:
        Include bits/getopt_posix.h instead of getopt.h.

commit 0f3be8721a86299600eae2d266934f661bf7c990
Author: Zack Weinberg <address@hidden>
Date:   Mon Apr 3 08:45:41 2017 -0400

    getopt: merge _GL_UNUSED annotations from gnulib
    
    gnulib now has annotations on at least some functions to cater to
    compilation with -Wunused-parameter.  In order to follow suit cleanly,
    I've added to libc-symbols.h some of the _GL_* macros that
    gnulib-common.m4 puts into config.h.  (I don't think they belong in
    sys/cdefs.h, at least not without further thought.)
    
    At this point all gnulib-side changes to getopt.c have been merged.
    
        * include/libc-symbols.h: For gnulib compatibility, define
        _GL_UNUSED, _GL_UNUSED_LABEL, _GL_ATTRIBUTE_PURE, and
        _GL_ATTRIBUTE_CONST.
        * posix/getopt.c (_getopt_initialize): Mark argc and argv
        parameters with _GL_UNUSED.

commit aeacb9f9127cff0ed099026156ca35c025f343b7
Author: Zack Weinberg <address@hidden>
Date:   Sat Apr 1 17:13:45 2017 -0400

    getopt: merge from gnulib: alloca avoidance
    
    In one place, glibc's getopt uses alloca to construct a linked list of
    possibilities for an "ambiguous" long option.  In gnulib, malloc
    should be used instead.  Providing for both cases complicates things a
    fair bit.  Instead of merging straight across, therefore, I have
    chosen to rewrite it using a boolean vector instead of a linked list.
    There is then only one allocation that might need freeing; in glibc it
    can honor __libc_use_alloca as usual, and in gnulib we define
    __libc_use_alloca to always be false, so we don't need ifdefs in the
    middle of the function.  This should also be slightly more efficient
    in the normal case of long options being fully spelled out -- I think
    most people aren't even aware they _can_ sometimes abbreviate long
    options.
    
    One interesting consequence is that the list of possibilities is now
    printed in exactly the order they appear in the list of long options,
    instead of the first possibility being shuffled to the end.  This
    shouldn't be a big deal but it did break one test that relied on the
    exact text of this error message.
    
    (The reason the previous patch was "in aid of" merging from gnulib is
    I didn't want to have to make this change in two places.)
    
    (The patch looks bigger than it really is because there's a fair bit
    of reindentation and code rearrangement.)
    
        * posix/getopt.c: When used standalone, define __libc_use_alloca
        as always false and alloca to abort if called.
        (process_long_option): Rewrite handling of ambiguous long options
        to use a single boolean vector, not a linked list; use
        __libc_use_alloca to decide whether to allocate this using alloca.
    
        * posix/tst-getopt_long1.c: Adjust text of expected error message.

commit dfbea09f96ce9e7a56f88c47d1593f07dc55c53c
Author: Zack Weinberg <address@hidden>
Date:   Sat Apr 1 16:19:50 2017 -0400

    getopt: refactor long-option handling
    
    There were two copies of the bulk of the code to handle long options.
    Now there is only one.  (Yes, this is in aid of merging from gnulib.)
    
    The change to bug-getopt4.c clarifies the error messages when the test
    fails.
    
        * posix/getopt.c (process_long_option): New function split out
        from _getopt_internal_r.
        (_getopt_internal_r): Replace both copies of the long-option
        processing code with calls to process_long_option.
        * posix/bug-getopt4.c (one_test): Print argv[0] in error messages.
        (do_test): Differentiate argv[0] in the two subtests.

commit c1af8775f2de694bd567813af51164e2d978a78d
Author: Zack Weinberg <address@hidden>
Date:   Sat Apr 1 12:42:41 2017 -0400

    getopt: tidy up _getopt_initialize a bit
    
    _getopt_data.__posixly_correct is completely redundant to
    _getopt_data.__ordering, and some work that logically belongs in
    _getopt_initialize was being done by _getopt_internal_r, making the
    code harder to understand.
    
    As a side effect, getenv will no longer be called if the first
    character of the options string is '+' or '-', which is probably a
    Good Thing.  (Perhaps we should have a flag character that
    specifically asks for the permutation behavior?)
    
        * posix/getopt_int.h (_getopt_data): Remove __posixly_correct field.
        * posix/getopt.c (_getopt_internal_r): Move some initialization code...
        (_getopt_initialize): ...here. Don't set d->__posixly_correct.

commit 7a7be6c9a2a89ac5783d4f27d67b0fae3218228f
Author: Zack Weinberg <address@hidden>
Date:   Sat Apr 1 12:11:33 2017 -0400

    getopt: merge from gnulib: function prototype adjustments
    
    For standards compliance, getopt, getopt_long, and getopt_long_only in
    glibc have to take 'char *const *argv' even though they can mutate the
    array.  gnulib has tried to clean this up as much as possible: all the
    internal functions use 'char **argv', and when used standalone, so do
    getopt_long and getopt_long_only.
    
    Also brought over are __nonnull annotations, corrections to documentation,
    and apparently it is no longer necessary to worry about conflicting
    prototypes for getopt.  The macroification of the definitions of
    getopt and __posix_getopt goes beyond what is currently in gnulib.
    
    At this point getopt1.c and getopt_int.h are identical to their gnulib
    versions.
    
        * posix/getopt.h: Add backup definition of __nonnull for
        consistency with gnulib.  Define __getopt_argv_const to const
        if not already defined.
        (getopt): Update doc comment from gnulib.  Prototype
        unconditionally.  Add __nonnull annotation.
        (__posix_getopt): Add __nonnull annotation.
        (getopt_long, getopt_long_only): Use __getopt_argv_const in
        prototypes for consistency with gnulib.  Add __nonnull
        annotations.
        * posix/getopt.c (_getopt_initialize, _getopt_internal_r)
        (getopt_internal): Change 'argv' argument to type 'char **'.
        Remove now-unnecessary casts.
        (getopt, __posix_getopt): Eliminate repetition with a macro.
        Cast 'argv' to 'char **' when calling _getopt_internal.
        * posix/getopt1.c (getopt_long, getopt_long_only):
        Use __getopt_argv_const for consistency with gnulib.
        Cast 'argv' to 'char **' when calling _getopt_internal.
        (_getopt_long_r, _getopt_long_only_r):
        Change 'argv' argument to type 'char **'.
        (main): Constify 'long_options'.
        * posix/getopt_int.h (getopt_internal, _getopt_internal_r)
        (_getopt_long_r, _getopt_long_only_r):
        Change 'argv' argument to type 'char **'.

commit 544ce845def4540de11d9484df888df94876b14e
Author: Zack Weinberg <address@hidden>
Date:   Sat Apr 1 10:17:44 2017 -0400

    getopt: clean up error reporting
    
    getopt can print a whole bunch of error messages, and when used
    standalone (from gnulib) it uses fprintf to do that.  But fprintf is a
    cancellation point and getopt isn't, and also applying fprintf to a
    stream in wide-character mode is not allowed.
    
    glibc has an internal function called __fxprintf that writes a narrow
    format string to a stream regardless of mode, but it only handles
    ASCII format strings, and it's still a cancellation point.  getopt's
    messages are translated, so they might not be ASCII.  So getopt has an
    error message to an asprintf buffer, monkeys with internal flag bits
    on stderr to disable cancellation, and then calls
    __fxprintf(stderr, "%s", buffer).  There isn't even a helper function,
    the code is duplicated every time.
    
    This patch fixes __fxprintf to handle arbitrary multibyte format
    strings, and adds a variant __fxprintf_nocancel that does the same
    thing but also isn't a cancellation point.  (It still _works_ by
    monkeying with internal flag bits on the FILE, but that's not really a
    layering violation for code in stdio-common.)  All of the #ifdef _LIBC
    blocks can then be reduced to their standalone versions with a little
    help from some macros at the top of the file.
    
    I also wrote a test case to verify that getopt really isn't a
    cancellation point, and I'm glad I did, because it found two bugs, one
    of which wasn't even to do with cancellation (see previous patch).
    
        * stdio-common/fxprintf.c (__fxprintf_nocancel): New function.
        (locked_vfxprintf): New helper function. Handle arbitrary
        multibyte strings, not just ASCII.
        * include/stdio.h: Declare __fxprintf_nocancel.
    
        * posix/getopt.c: When _LIBC is defined, define fprintf to
        __fxprintf_nocancel, flockfile to _IO_flockfile, and
        funlockfile to _IO_funlockfile.  When neither _LIBC nor
        _POSIX_THREAD_SAFE_FUNCTIONS is defined, define flockfile and
        funlockfile as no-ops.  (_getopt_internal_r): Remove all
        internal #ifdef _LIBC blocks; the standalone error-printing
        code can now be used for libc as well.  Add an
        flockfile/funlockfile pair around one case where the error
        message is printed in several chunks.  Don't use fputc.
    
        * posix/tst-getopt-cancel.c: New test.
        * posix/Makefile: Run it.

commit 7e161bef0bc9d5ea5e6f3dd490ecd5da6f642671
Author: Zack Weinberg <address@hidden>
Date:   Sat Apr 1 10:01:40 2017 -0400

    getopt: fix fencepost error in ambiguous-W-option handling
    
    getopt_long contains an undocumented (AFAICT) feature in which, if you
    put "W;" in the short-options list, then '-W foo' and '-Wfoo' are
    treated as equivalent to '--foo'.  This is implemented with a partial
    second copy of the code for handling long options, and that code
    increments optind one too many times when recovering from an ambiguous
    abbreviated option, which can cause the main loop to walk past the end
    of argv and crash.
    
    I discovered this while writing a test case that tries to exercise all
    of getopt's error reporting paths; I wouldn't be surprised to learn
    that this feature is never used by real applications.
    
        * posix/getopt.c (_getopt_internal_r): Don't increment
        d->optind a second time when reporting ambiguous -W options.

commit 7f71f9c1d6735e713de193faf03edb37c4bcb563
Author: Zack Weinberg <address@hidden>
Date:   Fri Mar 31 07:58:07 2017 -0400

    getopt: merge straightforward changes from gnulib
    
    This covers changes with little or no consequences when the code is
    used in glibc.
    
        * posix/getopt_int.h: Include getopt.h.
        Use impl-namespace names for all arguments to _getopt_internal and
        _getopt_internal_r.
        Declare __ordering enum outside the struct.
        Harmonize comments with gnulib.
        * posix/getopt1.c: Simplify #ifdeffage at top of file. Remove
        ELIDE_CODE logic entirely.  Move inclusion of stdlib.h to
        #ifdef TEST block and make unconditional.  Do not define NULL.
        * posix/getopt.c: Partial merge from gnulib, covering the
        initial includes and global declarations, commentary, and
        a couple of semantically-neutral code changes.

commit 7784135eb0de2d083bf3460c1386aee1c056e96e
Author: Zack Weinberg <address@hidden>
Date:   Fri Mar 31 07:39:55 2017 -0400

    getopt: merge from gnulib: don't use `...' quotes
    
    I'm not sure whether this is official GNU style now, but `...' quotes
    haven't looked properly balanced in most people's terminal fonts since
    2001ish? and gnulib has chosen to switch over to '...' quotes.
    I'm merging this separately from the other changes in gnulib because
    it's very mechanical.
    
        * posix/getopt.c, posix/getopt.h, posix/getopt1.c, posix/getopt_int.h:
        Use '...' instead of `...' for quotation marks inside
        comments and strings.

commit bf079e19f50d64aa5e05b5e17ec29afab9aabb20
Author: Zack Weinberg <address@hidden>
Date:   Wed Mar 29 16:58:58 2017 -0400

    getopt: remove USE_NONOPTION_FLAGS
    
    glibc's implementation of getopt includes code to parse an environment
    variable named _XXX_GNU_nonoption_argv_flags_ (where XXX is the
    current process's PID in decimal); but all of it has been #ifdefed out
    since 2001, with no official way to turn it back on.
    
    According to commentary in our config.h.in, bash version 2.0 set this
    environment variable to indicate argv elements that were the result of
    glob expansion and therefore should not be treated as options, but the
    feature was "disabled later" because "it caused problems".  According
    to bash's CHANGES file, "later" was release 2.01; it gives no more
    detail about what the problems were.
    
    Version 2.0 of bash was released on the last day of 1996, and version
    2.01 in June of 1997.  Twenty years later, I think it is safe to
    assume that this environment variable isn't coming back.
    
        * config.h.in (USE_NONOPTION_FLAGS): Remove.
        * csu/init-first.c: Remove all #ifdef USE_NONOPTION_FLAGS blocks.
        * sysdeps/mach/hurd/i386/init-first.c: Likewise.
        * posix/getopt_int.h: Likewise.
        * posix/getopt.c: Likewise. Also remove SWAP_FLAGS and the
        __libc_argc and __libc_argv externs, which were only used by
        #ifdef USE_NONOPTION_FLAGS blocks.
        * posix/getopt_init.c: Remove file.
        * posix/Makefile (routines): Remove getopt_init.
        * include/getopt.h: Don't declare __getopt_initialize_environment.
        * manual/getopt.texi: Remove mention of USE_NONOPTION_FLAGS in
        a comment.

commit e4e794841e3140875f2aa86b90e2ada3d61e1244
Author: Florian Weimer <address@hidden>
Date:   Fri Apr 7 13:01:21 2017 +0200

    resolv: Remove IQUERY support

commit bdc543e338281da051b3dc06eae96c330a485ce6
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Mar 16 09:15:57 2017 -0300

    sparc: Fix .udiv plt on libc
    
    With the removal of divdi3 object from sparcv9-linux-gnu build, its
    definition came from libgcc and its functions internall calls .udiv.
    Since glibc also exports these symbols for compatibility reasons, it
    will end up creating PLT calls internally in libc.so.
    
    To avoid it, this patch uses the linker option --wrap to replace all
    the internal libc.so .udiv calls to the wrapper __wrap_.udiv. Along
    with strong alias in the udiv implementations, it makes linker do
    local calls.
    
    Checked on sparcv9-linux-gnu.
    
        * sysdeps/sparc/sparc32/Makefile (libc.so-gnulib): New rule.
        * sysdeps/sparc/sparc32/sparcv8/udiv.S (.udiv): Make a strong_alias
        to __wrap_.udiv.
        * sysdeps/sparc/sparc32/sparcv9/udiv.S (.udiv): Likewise.
        * sysdeps/sparc/sparc32/udiv.S (.udiv): Likewise.

commit db3d848e154b00071f4a5e729d5884efad410109
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Mar 15 15:44:59 2017 -0300

    Build divdi3 only for architecture that required it
    
    As noted in [1], divdi3 object is only exported in a handful ABIs
    (i386, m68k, powerpc32, s390-32, and ia64), however it is built
    for all current architectures regardless.
    
    This patch refact the make rules for this object to so only the
    aforementioned architectures that actually require it builds it.
    
    Also, to avoid internal PLT calls to the exported symbol from the
    module, glibc uses an internal header (symbol-hacks.h) which is
    unrequired (and in fact breaks the build for architectures that
    intend to get symbol definitions from libgcc.a).  The patch also
    changes it to create its own header (divdi3-symbol-hacks.h) and
    adjust the architectures that require it accordingly.
    
    I checked the build/check (with run-built-tests=no) on the
    following architectures (which I think must cover all supported
    ABI/builds) using GCC 6.3:
    
    aarch64-linux-gnu
    alpha-linux-gnu
    arm-linux-gnueabihf
    hppa-linux-gnu
    ia64-linux-gnu
    m68k-linux-gnu
    microblaze-linux-gnu
    mips64-n32-linux-gnu
    mips-linux-gnu
    mips64-linux-gnu
    nios2-linux-gnu
    powerpc-linux-gnu
    powerpc-linux-gnu-power4
    powerpc64-linux-gnu
    powerpc64le-linux-gnu
    s390x-linux-gnu
    s390-linux-gnu
    sh4-linux-gnu
    sh4-linux-gnu-soft
    sparc64-linux-gnu
    sparcv9-linux-gnu
    tilegx-linux-gnu
    tilegx-linux-gnu-32
    tilepro-linux-gnu
    x86_64-linux-gnu
    x86_64-linux-gnu-x32
    i686-linux-gnu
    
    I only saw one regression on sparcv9-linux-gnu (extra PLT call to
    .udiv) which I address in next patch in the set.  It also correctly
    build SH with GCC 7.0.1 (without any regression from c89721e25d).
    
    [1] https://sourceware.org/ml/libc-alpha/2017-03/msg00243.html
    
        * sysdeps/i386/symbol-hacks.h: New file.
        * sysdeps/m68k/symbol-hacks.h: New file.
        * sysdeps/powerpc/powerpc32/symbol-hacks.h: New file.
        * sysdeps/s390/s390-32/symbol-hacks.h: New file.
        * sysdeps/unix/sysv/linux/i386/Makefile
        [$(subdir) = csu] (sysdep_routines): New rule: divdi3 object.
        [$(subdir) = csu] (sysdep-only-routines): Likewise.
        [$(subdir) = csu] (CFLAGS-divdi3.c): Likewise.
        * sysdeps/unix/sysv/linux/m68k/Makefile
        [$(subdir) = csu] (sysdep_routines): Likewise.
        [$(subdir) = csu] (sysdep-only-routines): Likewise.
        [$(subdir) = csu] (CFLAGS-divdi3.c): Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile
        [$(subdir) = csu] (sysdep_routines): Likewise.
        [$(subdir) = csu] (sysdep-only-routines): Likewise.
        [$(subdir) = csu] (CFLAGS-divdi3.c): Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/Makefile
        [$(subdir) = csu] (sysdep_routines): Likewise.
        [$(subdir) = csu] (sysdep-only-routines): Likewise.
        [$(subdir) = csu] (CFLAGS-divdi3.c): Likewise.
        * sysdeps/wordsize-32/Makefile: Remove file.
        * sysdeps/wordsize-32/symbol-hacks.h: Definitions move to ...
        * sysdeps/wordsize-32/divdi3-symbol-hacks.h: ... here.

commit 12fb180108f461c3c6884a512f59c9a4c5dbfb88
Author: H.J. Lu <address@hidden>
Date:   Wed Apr 5 14:09:38 2017 -0700

    Define TEST_FUNCTION_ARGV in elf/tst-dlopen-aout.c
    
        * elf/tst-dlopen-aout.c (TEST_FUNCTION): Removed.
        (TEST_FUNCTION_ARGV): New.

commit 36fe25fd0ecdb0e73ef4878a5796a6ab4a4d04af
Author: Wainer dos Santos Moschetta <address@hidden>
Date:   Wed Apr 5 10:34:39 2017 -0300

    Update elf tests to use the support test driver.
    
    Replaced test-skeleton.c with support/test-driver.c and
    adjusted the tests accordinly.
    
    Checked on x86_64.
    
        * elf/next.c: Import support/test-driver.c instead of
        test-skeleton.c and delete TEST_FUNCTION macro definition.
        * elf/nodelete.c: Likewise.
        * elf/order2.c: Likewise.
        * elf/tst-_dl_addr_inside_object.c: Likewise.
        * elf/tst-addr1.c: Likewise.
        * elf/tst-align.c: Likewise.
        * elf/tst-align2.c: Likewise.
        * elf/tst-audit11.c: Likewise.
        * elf/tst-audit12.c: Likewise.
        * elf/tst-audit2.c: Likewise.
        * elf/tst-audit9.c: Likewise.
        * elf/tst-auxv.c: Likewise and define
        TEST_FUNCTION_ARGV macro.
        * elf/tst-deep1.c: Likewise.
        * elf/tst-dl-iter-static.c: Likewise.
        * elf/tst-dlmodcount.c: Likewise.
        * elf/tst-dlmopen1.c: Likewise.
        * elf/tst-dlmopen2.c: Likewise.
        * elf/tst-dlmopen3.c: Likewise.
        * elf/tst-dlopen-aout.c: Likewise.
        * elf/tst-dlopenrpath.c: Likewise.
        * elf/tst-dlsym-error.c: Likewise.
        * elf/tst-execstack-needed.c: Likewise.
        * elf/tst-execstack-prog.c: Likewise.
        * elf/tst-execstack.c: Likewise.
        * elf/tst-global1.c: Likewise.
        * elf/tst-gnu2-tls1.c: Likewise.
        * elf/tst-latepthread.c: Likewise.
        * elf/tst-leaks1.c: Likewise.
        * elf/tst-linkall-static.c: Likewise.
        (do_test): New function.
        * elf/tst-nodelete-opened.c: Likewise.
        * elf/tst-nodelete.cc: Likewise.
        * elf/tst-nodelete2.c: Likewise.
        * elf/tst-noload.c: Likewise.
        * elf/tst-null-argv.c: Likewise and define
        TEST_FUNCTION_ARGV marcro.
        * elf/tst-order-main.c: Likewise.
        * elf/tst-pathopt.c: Likewise.
        * elf/tst-pie2.c: Likewise.
        * elf/tst-piemod1.c: Likewise.
        * elf/tst-prelink.c: Likewise.
        * elf/tst-protected1a.c: Likewise.
        * elf/tst-protected1b.c: Likewise.
        * elf/tst-ptrguard1.c: Likewise, import getopt.h,
        and define _GNU_SOURCE macro.
        (cmdline_process_function): New function.
        * elf/tst-relsort1.c: Likewise.
        * elf/tst-stackguard1.c: Likewise, import getopt.h,
        and define _GNU_SOURCE macro.
        (cmdline_process_function): New function.
        * elf/tst-thrlock.c: Likewise.
        * elf/tst-tls-dlinfo.c: Likewise.
        * elf/tst-tls-manydynamic.c: Likewise and import
        support/xthread.h.
        * elf/tst-tls1.c: Likewise.
        * elf/tst-tls10.c: Likewise.
        * elf/tst-tls11.c: Likewise.
        * elf/tst-tls12.c: Likewise.
        * elf/tst-tls13.c: Likewise.
        * elf/tst-tls14.c: Likewise.
        * elf/tst-tls15.c: Likewise.
        * elf/tst-tls16.c: Likewise.
        * elf/tst-tls17.c: Likewise.
        * elf/tst-tls18.c: Likewise.
        * elf/tst-tls19.c: Likewise.
        * elf/tst-tls2.c: Likewise.
        * elf/tst-tls3.c: Likewise.
        * elf/tst-tls4.c: Likewise.
        * elf/tst-tls5.c: Likewise.
        * elf/tst-tls6.c: Likewise.
        * elf/tst-tls7.c: Likewise.
        * elf/tst-tls8.c: Likewise.
        * elf/tst-tls9.c: Likewise.
        * elf/tst-tlsalign-extern.c: Likewise.
        * elf/tst-tlsalign.c: Likewise.
        * elf/tst-unique1.c: Likewise.
        * elf/tst-unique2.c: Likewise.
        * elf/vismain.c: Likewise.

commit ff65c87443fe628d1e1e0106a5fcafc2104a5d7e
Author: Wainer dos Santos Moschetta <address@hidden>
Date:   Wed Apr 5 10:28:21 2017 -0300

    Add page tests to string/test-strnlen.
    
    May be tricky for otimized implementations to handle strings around
    page boundary once, for instance, it is performed unaligned loads or
    when maxlen is used as a hint for vectorized loops. The test cases
    should unveil regression bugs on these cases.
    
    To some extend do_random_tests in string/test-strnlen tests strings
    placed at page end but it does not cover all cases. So this change
    adds tests which consists of placing strings of varying sizes ending
    at the page boundary. It also combines with different values of maxlen.
    
    Tested on ppc64le and x86_64.
    
        * string/test-strnlen.c (do_page_tests): New function
        to check length of strings ending at the page boundary.
        (test_main): Added call to the do_page_tests function.

commit 18b6e2c86ce03c9be8ee0a53840fe5d533de22b3
Author: Wainer dos Santos Moschetta <address@hidden>
Date:   Wed Apr 5 10:24:24 2017 -0300

    powerpc64: Add POWER8 strnlen
    
    Added strnlen POWER8 otimized for long strings. It delivers
    same performance as POWER7 implementation for short strings.
    
    This takes advantage of reasonably performing unaligned loads
    and bit permutes to check the first 1-16 bytes until
    quadword aligned, then checks in 64 bytes strides until unsafe,
    then 16 bytes, truncating the count if need be.
    
    Likewise, the POWER7 code is recycled for less than 32 bytes strings.
    
    Tested on ppc64 and ppc64le.
    
        * sysdeps/powerpc/powerpc64/multiarch/Makefile
        (sysdep_routines): Add strnlen-power8.
        * sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
        (strnlen): Add __strnlen_power8 to list of strnlen functions.
        * sysdeps/powerpc/powerpc64/multiarch/strnlen-power8.S:
        New file.
        * sysdeps/powerpc/powerpc64/multiarch/strnlen.c
        (__strnlen): Add __strnlen_power8 to ifunc list.
        * sysdeps/powerpc/powerpc64/power8/strnlen.S: New file.

commit b2b1ea8b777c2f1362d41ee34089104f535e9903
Author: Wainer dos Santos Moschetta <address@hidden>
Date:   Tue Apr 4 18:05:20 2017 -0300

    Update wcsmbs tests to use the support test driver
    
    Replaced test-skeleton.c with support/test-driver.c and
    adjusted the tests accordinly.
    
    Checked on x86_64-linux-gnu.
    
        * wcsmbs/tst-btowc.c: Import support/test-driver.c and remove
        the TEST_FUNCTION macro definition.
        * wcsmbs/tst-mbrtowc2.c: Likewise.
        * wcsmbs/tst-mbsrtowcs.c: Likewise.
        * wcsmbs/tst-wchar-h.c: Likewise.
        * wcsmbs/tst-wcpncpy.c: Likewise.
        * wcsmbs/tst-wcrtomb.c: Likewise.
        * wcsmbs/tst-wcsnlen.c: Likewise.
        * wcsmbs/tst-wcstof.c: Likewise.

commit a358c805300e358e30d4788a6f19c69988623a5c
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Apr 4 16:00:27 2017 -0300

    Remove CALL_THREAD_FCT macro
    
    This patch removes CALL_THREAD_FCT macro usage and its defition for
    x86.  For 32 bits it usage is only for force 16 stack alignment,
    however stack is already explicit aligned in clone syscall.  For
    64 bits and x32 it just a function call and there is no need to
    code it with inline assembly.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, and x86_64-linux-gnu-x32.
    
        * nptl/pthread_create.c (START_THREAD_DEFN): Remove
        CALL_THREAD_FCT macro usage.
        * sysdeps/i386/nptl/tls.h (CALL_THREAD_FCT): Remove definition.
        * sysdeps/x86_64/nptl/tls.h (CALL_THREAD_FCT): Likewise.
        * sysdeps/x86_64/32/nptl/tls.h: Remove file.

commit 2e4cf778972573221e9b87fd992844ea9b67b9bf
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Apr 4 17:23:33 2017 -0300

    Remove __ASSUME_REQUEUE_PI
    
    The new cond var implementation (ed19993b5b0d) removed all the
    __ASSUME_{REQUEUE_PI,FUTEX_LOCK_PI} internal usage so there is no
    need to keep defining it.  This patch removes all USE_REQUEUE_PI
    and __ASSUME_REQUEUE_PI.  It is as follow up from BZ#18463.
    
    Checked with a build for x86_64-linux-gnu, arm-linux-gnueabhf,
    m68-linux-gnu, mips64-linux-gnu, and sparc64-linux-gnu.
    
        * nptl/pthreadP.h (USE_REQUEUE_PI): Remove ununsed macro.
        * sysdeps/unix/sysv/linux/arm/kernel-features.h
        (__ASSUME_REQUEUE_PI): Likewise.
        * sysdeps/unix/sysv/linux/kernel-features.h
        (__ASSUME_REQUEUE_PI): Likewise.
        * sysdeps/unix/sysv/linux/m68k/kernel-features.h
        (__ASSUME_REQUEUE_PI): Likewise.
        * sysdeps/unix/sysv/linux/mips/kernel-features.h
        (__ASSUME_REQUEUE_PI): Likewise.
        * sysdeps/unix/sysv/linux/sparc/kernel-features.h
        (__ASSUME_REQUEUE_PI): Likewise.

commit c3261cdb5b739c1e814de32e40ecd712ad987cdb
Author: Florian Weimer <address@hidden>
Date:   Tue Apr 4 17:31:52 2017 +0200

    resolv: Add tst-resolv-canonname

commit 44f28da7cab271b659551c4fe1a7d2e420803576
Author: Florian Weimer <address@hidden>
Date:   Tue Apr 4 14:36:02 2017 +0200

    nss_dns: Replace local declarations with declarations from a header file

commit 75b3a15e077dbfdfd8cbb3449369379e700b9972
Author: Florian Weimer <address@hidden>
Date:   Tue Apr 4 14:13:03 2017 +0200

    nss_dns: Remove superfluous dn_expand call from network handling

commit 07d6f1a3ca990e0e4f93b010605d4d87a3abdf24
Author: Florian Weimer <address@hidden>
Date:   Tue Apr 4 14:09:56 2017 +0200

    resolv: Add test coverage for ns_name_unpack, ns_name_ntop

commit fce3da82e56a66bdafcef437abef0fa7b82b8d2b
Author: Stefan Liebler <address@hidden>
Date:   Tue Apr 4 13:16:28 2017 +0200

    S390: Clobber also r14 in TLS_LD, TLS_GD macros on 31bit.
    
    This patch also clobbers r14 in TLS_LD, TLS_GD macros on 31bit.
    This ensures that r14 isn't used to save and restore r12 while
    r14 is clobbered by the bas-instruction.
    
    As note:
    r12 can't be added to clobber list as gcc would fail with:
    error: PIC register clobbered by ‘12’ in ‘asm’
    
    For 64bit this fix was already done in 2004 in the
    commit b80af23ac6973e69df6cd23d221fa44fffb21e17.
    
    ChangeLog:
    
        * sysdeps/s390/s390-32/tls-macros.h (TLS_LD, TLS_GD):
        Clobber also r14.

commit 83f0ad2bc63f26dab10f47c8741245d93eb4077a
Author: Mike Frysinger <address@hidden>
Date:   Mon Apr 3 15:18:07 2017 -0400

    ChangeLog: fix BZ style to be consistent and match majority of existing code

commit 21f042c804835d1f7a4a8e06f2c93ca35a182042
Author: Mike Frysinger <address@hidden>
Date:   Wed Mar 15 23:59:31 2017 -0700

    posix_spawn: use a larger min stack for -fstack-check [BZ #21253]
    
    When glibc is built with -fstack-check, trying to use posix_spawn can
    lead to segfaults due to gcc internally probing stack memory too far.
    The new spawn API will allocate a minimum of 1 page, but the stack
    checking logic might probe a couple of pages.  When it tries to walk
    them, everything falls apart.
    
    The gcc internal docs [1] state the default interval checking is one
    page.  Which means we need two pages (the current one, and the next
    probed).  No target currently defines it larger.
    
    Further, it mentions that the default minimum stack size needed to
    recover from an overflow is 4/8KiB for sjlj or 8/12KiB for others.
    But some Linux targets (like mips and ppc) go up to 16KiB (and some
    non-Linux targets go up to 24KiB).
    
    Let's create each child with a minimum of 32KiB slack space to support
    them all, and give us future breathing room.
    
    No test is added as existing ones crash.  Even a simple call is
    enough to trigger the problem:
        char *argv[] = { "/bin/ls", NULL };
        posix_spawn(NULL, "/bin/ls", NULL, NULL, argv, NULL);
    
    [1] https://gcc.gnu.org/onlinedocs/gcc-6.3.0/gccint/Stack-Checking.html

commit 622222846a2e6ffbcd02cb46cb5f29c48fe4a466
Author: Wladimir J. van der Laan <address@hidden>
Date:   Sat Apr 1 12:39:09 2017 +0530

    Call the right helper function when setting mallopt M_ARENA_MAX (BZ #21338)
    
    Fixes a typo introduced in commit
    be7991c0705e35b4d70a419d117addcd6c627319. This caused
    mallopt(M_ARENA_MAX) as well as the environment variable
    MALLOC_ARENA_MAX to not work as intended because it set the
    wrong internal parameter.
    
        [BZ #21338]
        * malloc/malloc.c: Call do_set_arena_max for M_ARENA_MAX
        instead of incorrect do_set_arena_test

commit 1361e98d5602e8b78cca019952d4a3438d68a239
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Fri Mar 31 09:31:10 2017 -0300

    Fix condition for inclusion of math-finite.h for long double
    
    The condition for declaration of long double functions in
    math-finite.h was #ifdef __MATH_DECLARE_LDOUBLE before the
    macroization of this file.  After the macroization, it was incorreclty
    changed to #if __MATH_DECLARE_LDOUBLE, which broke the build for arm.
    
        * math/math.h: Fix check for __MATH_DECLARE_LDOUBLE.
        * math/bits/math-finite.h: Likewise.

commit ce39613205dc47ceaeea76710d49e7a483b503ab
Author: Slava Barinov <address@hidden>
Date:   Fri Mar 31 08:49:25 2017 +0200

    fts: Fix symbol redirect for fts_set [BZ #21289]
    
    In a 32-bit environment with _FILE_OFFSET_BITS=64, the __REDIRECT macro
    combined with __THROW generates an invalid C++ declaration.

commit 2183741fdcc0377e3a4f917194799e576537967f
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Mar 28 16:44:19 2017 -0300

    Fix more test-errno issues
    
    This patch fixes some test-errno-linux unexpected returns for the
    tested syscalls on some older kernels (I saw it on a Linux 3.8 on
    armv7l).  Basically:
    
       - inotify_add_watch: Linux v3.8 (676a0675c) removed the test to
         check at least one valid bit in flags (to return EINVAL).  It
         was later added back in v3.9 (04df32fa1).
    
       - quotactl: returns ENOSYS for kernels not configured with
         CONFIG_QUOTA.
    
    Checked on x86_64-linux-gnu and armv7l-linux-gnueabihf.
    
        * sysdeps/unix/sysv/linux/test-errno-linux.c (do_test): Handle
        non expected inotify_add_watch and quotactl return.

commit 10614335d1237704a5496758185ad7eb4bd65287
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Tue Mar 28 14:48:57 2017 -0300

    Change return type in the declaration of __ieee754_rem_pio2l
    
    The implementation of __ieee754_rem_pio2l in ldbl-128, ldbl-128ibm,
    and ldbl-96 return the type int32_t, whereas math_private.h declares
    it as returning int.  This patch changes the declaration to match the
    declaration in thoses directories, as well as it changes the stub
    implementation in math/e_rem_pio2l.c, similarly.
    
        * math/e_rem_pio2l.c (__ieee754_rem_pio2l): Change return type
        to int32_t.
        * sysdeps/generic/math_private.h: Declare __ieee754_rem_pio2l
        as returning int32_t.

commit f264cca59380bca8f372bd09a8da7c9e1bbbf493
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Fri Mar 10 09:47:18 2017 -0300

    Macroize inclusion of math-finite.h
    
    This patch macroizes the declarations in math/bits/math-finite.h
    similarly to what math/bits/mathcalls.h does.  For each floating-point
    type, the file is included once in math/math.h.  This will reduce the
    amount of repetitive boilerplate required when adding float128
    versions of these declarations.
    
    Tested for powerpc64le and s390x.
    
        * math/math.h: Include bits/math-finite.h once per
        floating-point type.
        * math/bits/math-finite.h: Macroize all declarations by
        floating-point type.

commit 3abeeec5f46ff036bd9df60bb096e20314ccd078
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Mar 14 14:16:13 2017 -0300

    Fix i686 memchr overflow calculation (BZ#21182)
    
    This patch fixes the regression added by 23d2770 for final address
    overflow calculation.  The subtraction of the considered size (16)
    at line 120 is at wrong place, for sizes less than 16 subsequent
    overflow check will not take in consideration an invalid size (since
    the subtraction will be negative).  Also, the lea instruction also
    does not raise the carry flag (CF) that is used in subsequent jbe
    to check for overflow.
    
    The fix is to follow x86_64 logic from 3daef2c where the overflow
    is first check and a sub instruction is issued.  In case of resulting
    negative size, CF will be set by the sub instruction and a NULL
    result will be returned.  The patch also add similar tests reported
    in bug report.
    
    Checked on i686-linux-gnu and x86_64-linux-gnu.
    
        * string/test-memchr.c (do_test): Add BZ#21182 checks for address
        near end of a page.
        * sysdeps/i386/i686/multiarch/memchr-sse2.S (__memchr): Fix
        overflow calculation.

commit 29d92a8edabed7a1e062fc301bb127d734ec0c45
Author: Steve Ellcey <address@hidden>
Date:   Tue Mar 28 09:07:03 2017 -0700

    Change TEST_NAME to memcpy to fix IFUNC testing of multiple versions.
    
        * benchtests/bench-memcpy-random.c (TEST_NAME): Change to memcpy.
        (IMPL) Call with 1 instead of 0 as argument.

commit dd5905de03bd2b08ee9ea596e4b0925e2cd940c0
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Jan 20 19:01:59 2017 -0200

    Consolidate set* Linux implementation
    
    This patch consolidates the Linux setegid, seteuid, setgid, setgroups,
    setregid, setresgid, setresuid, setreuid, and setuid implementation on
    default sysdeps/unix/sysv/linux/set*.c implementation.  It basically
    removes all the architecture define implementations and add support for
    __NR_set*32 syscall on Linux default implementation.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    aarch64-linux-gnu, arm-linux-gnueabihf, and powerpc64le-linux-gnu.
    
        * sysdeps/unix/sysv/linux/arm/setegid.c: Remove file.
        * sysdeps/unix/sysv/linux/arm/seteuid.c: Likewise.
        * sysdeps/unix/sysv/linux/arm/setgid.c: Likewise.
        * sysdeps/unix/sysv/linux/arm/setgroups.c: Likewise.
        * sysdeps/unix/sysv/linux/arm/setregid.c: Likewise.
        * sysdeps/unix/sysv/linux/arm/setresgid.c: Likewise.
        * sysdeps/unix/sysv/linux/arm/setresuid.c: Likewise.
        * sysdeps/unix/sysv/linux/arm/setreuid.c: Likewise.
        * sysdeps/unix/sysv/linux/arm/setuid.c: Likewise.
        * sysdeps/unix/sysv/linux/i386/setegid.c: Likewise.
        * sysdeps/unix/sysv/linux/i386/seteuid.c: Likewise.
        * sysdeps/unix/sysv/linux/i386/setgid.c: Likewise.
        * sysdeps/unix/sysv/linux/i386/setgroups.c: Likewise.
        * sysdeps/unix/sysv/linux/i386/setregid.c: Likewise.
        * sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise.
        * sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
        * sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
        * sysdeps/unix/sysv/linux/i386/setuid.c: Likewise.
        * sysdeps/unix/sysv/linux/m68k/setegid.c: Likewise.
        * sysdeps/unix/sysv/linux/m68k/seteuid.c: Likewise.
        * sysdeps/unix/sysv/linux/m68k/setgid.c: Likewise.
        * sysdeps/unix/sysv/linux/m68k/setgroups.c: Likewise.
        * sysdeps/unix/sysv/linux/m68k/setregid.c: Likewise.
        * sysdeps/unix/sysv/linux/m68k/setresgid.c: Likewise.
        * sysdeps/unix/sysv/linux/m68k/setresuid.c: Likewise.
        * sysdeps/unix/sysv/linux/m68k/setreuid.c: Likewise.
        * sysdeps/unix/sysv/linux/m68k/setuid.c: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/setgroups.c: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/setegid.c: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/seteuid.c: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/setgid.c: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/setgroups.c: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/setregid.c: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/setresgid.c: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/setresuid.c: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/setreuid.c: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/setuid.c: Likewise.
        * sysdeps/unix/sysv/linux/sh/setegid.c: Likewise.
        * sysdeps/unix/sysv/linux/sh/seteuid.c: Likewise.
        * sysdeps/unix/sysv/linux/sh/setgid.c: Likewise.
        * sysdeps/unix/sysv/linux/sh/setgroups.c: Likewise.
        * sysdeps/unix/sysv/linux/sh/setregid.c: Likewise.
        * sysdeps/unix/sysv/linux/sh/setresgid.c: Likewise.
        * sysdeps/unix/sysv/linux/sh/setresuid.c: Likewise.
        * sysdeps/unix/sysv/linux/sh/setreuid.c: Likewise.
        * sysdeps/unix/sysv/linux/sh/setuid.c: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/setgid.c: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/setgroups.c: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/setregid.c: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/setresgid.c: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/setresuid.c: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/setreuid.c: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/setuid.c: Likewise.
        * sysdeps/unix/sysv/linux/setegid.c (setegid): Use
        INLINE_SYSCALL_ERROR_RETURN_VALUE.
        * sysdeps/unix/sysv/linux/seteuid.c (seteuid): Likewise.
        * sysdeps/unix/sysv/linux/setgid.c (setgid): Use __NR_setgid32 if
        defined.
        * sysdeps/unix/sysv/linux/setgroups.c (setgroups): Use
        __NR_setgroups32 if defined.
        * sysdeps/unix/sysv/linux/setregid.c (__setregid): Use __NR_setregid32
        if defined.
        * sysdeps/unix/sysv/linux/setresgid.c (__setresgid): Use
        __NR_setresgid32 is defined.
        * sysdeps/unix/sysv/linux/setresuid.c (__setresuid): Use
        __NR_setresuid32 if defined.
        * sysdeps/unix/sysv/linux/setreuid.c (__setreuid): Use
        __NR_setreuid32 if defined.
        * sysdeps/unix/sysv/linux/setuid.c (__setuid): Use __NR_setuid32 if
        defined.

commit ea1898dded26316e2e73adfb409224e864ffaa8b
Author: Egmont Koblinger <address@hidden>
Date:   Wed Mar 22 21:27:30 2017 -0400

    localedata: hu_HU: fix multiple sorting bugs (bug 18934)
    
    Fix the incorrect sorting order of a digraph and its geminated variant,
    regression introduced by a faulty fix to bug 13547 in commit
    b008d4c85619a753e441d7f473ba8af0db400bd6.
    
    Fix two inconsistencies in sorting unusual capitalization of digraphs
    (bug #18587).
    
    Enable DIACRIT_FORWARD to work around bug #17750.
    
    Sort foreign accents after the Hungarian ones.
    
    Add extensive unittests containing all the examples from The Rules of
    Hungarian Orthography and many more, including explanatory comments.

commit 78c05814320cdc3377347f8e5fdbaa7cf5abf5b5
Author: Joseph Myers <address@hidden>
Date:   Mon Mar 27 15:07:38 2017 +0000

    Define more termios.h macros unconditionally for alpha (bug 21277).
    
    termios.h should define IUCLC for UNIX98 and older XSI standards.  The
    sysdeps/unix/sysv/linux/alpha version defines it only if __USE_MISC,
    so causing some conform/ tests to fail.
    
    Other versions define it unconditionally (I* being a reserved
    namespace for this header); the API should be consistent between
    architectures in the absence of a clear reason for it to differ (and
    given that a symbol is part of the API on two architectures, I don't
    see any reason for the feature test macros required ever to differ
    between those architectures), so this patch makes the alpha version
    define it unconditionally as well.  Two non-POSIX macros alongside it,
    IMAXBEL and IUTF8, are also defined unconditionally on other
    architectures, so this patch makes them consistent by defining them
    unconditionally on alpha as well.
    
    Tested (compilation only) with build-many-glibcs.py.
    
        [BZ #21277]
        * sysdeps/unix/sysv/linux/alpha/bits/termios.h (IUCLC): Define
        unconditionally.
        (IMAXBEL): Likewise.
        (IUTF8): Likewise.

commit b737847f8718dc44b97970531854620af1357083
Author: Szabolcs Nagy <address@hidden>
Date:   Mon Mar 27 12:01:34 2017 +0100

    [AArch64] Update libm-test-ulps
    
        * sysdeps/aarch64/libm-test-ulps: Update.

commit d01cbb6e8e5b6be1c216ab57a37c460771883dae
Author: Siddhesh Poyarekar <address@hidden>
Date:   Sun Mar 26 19:01:50 2017 +0530

    Actually add bench-memcpy-random
    
    git-add and commit the benchmark that Wilco posted on the list.

commit 65eff7fbdbddad8c1f9af7cb48cd3b5dca3c5c9d
Author: Sunyeop Lee <address@hidden>
Date:   Fri Mar 24 11:08:28 2017 +0530

    Update old tunables framework document/script.
    
    Since commit 8b9e9c3c0bae497ad5e2d0ae2f333f62feddcc12, security_level 
replaces
    is_secure. There were some old files need to be updated.
    
    2017-03-23  Sunyeop Lee  <address@hidden>
    
        * README.tunables: Updated descriptions.
        * elf/dl-tunables.list: Fixed typo: SXID_NONE -> NONE.
        * scripts/gen-tunables.awk: Updated the code related to the commit.

commit 8d2030d659791184ecac8de9d6e1403b316a94c2
Author: Wilco Dijkstra <address@hidden>
Date:   Thu Mar 23 19:00:02 2017 +0000

    Add a new randomized memcpy test for copies up to 256 bytes.  The 
distribution
    of the size and alignment is based on a trace of SPEC2006.  Instead of
    repeating the same copy over and over again like the existing tests, it 
times
    several thousand different copies to more accurately estimate the overhead 
of
    branch prediction.
    
        * benchtests/Makefile (string-benchset): Add memcpy-random.
        * benchtests/bench-memcpy-random.c: New file.

commit ca4dc7465917beeb37af32891d4c867b5ac16883
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Thu Mar 23 15:45:00 2017 -0300

    Change the order of function attributes in printf.h
    
    ISO C++ section 8.3.5 [dcl.fct] requires exception specifications
    to appear before attribute specifiers in function declarations.
    
    This patch fixes issues reported by 
stdio-common/check-installed-headers-cxx.
    
        * stdio-common/printf.h (register_printf_modifier): Change the
        order of __wur and __THROW.
        (register_printf_type): Likewise.

commit fb82116f24454e450f771a41f18cbdacfae1229d
Author: Wainer dos Santos Moschetta <address@hidden>
Date:   Thu Mar 23 11:32:17 2017 -0300

    Update string tests to use the support test driver.
    
    Replaced all imports of test-skeleton.c with support/test-driver.c.
    
    In some cases it was needed to adjust do_test to return int
    instead of static int since that is the method's signature expected by
    test-driver.c.
    
    Checked on x86_64.
    
        * string/test-string.h (TEST_FUNCTION): Use test_main instead of
        test_main ().
        (CMDLINE_PROCESS): Use function instead of defined macro.
        * debug/test-strcpy_chk.c: Import support/test-driver.c and also
        <suppport/support.h> to use set_fortify_handler().
        * string/bug-envz1.c: Import support/test-driver.c instead of
        test-skeleton.c.
        * string/bug-strcoll2.c: Likewise.
        * string/bug-strtok1.c: Likewise.
        * string/stratcliff.c: Likewise.
        * string/test-ffs.c: Likewise.
        * string/test-memccpy.c: Likewise.
        * string/test-memchr.c: Likewise.
        * string/test-memcmp.c: Likewise.
        * string/test-memcpy.c: Likewise.
        * string/test-memmem.c: Likewise.
        * string/test-memmove.c: Likewise.
        * string/test-memrchr.c: Likewise.
        * string/test-memset.c: Likewise.
        * string/test-rawmemchr.c: Likewise.
        * string/test-strcasecmp.c: Likewise.
        * string/test-strcasestr.c: Likewise.
        * string/test-strcat.c: Likewise.
        * string/test-strchr.c: Likewise.
        * string/test-strcmp.c: Likewise.
        * string/test-strcpy.c: Likewise.
        * string/test-string.h: Likewise.
        * string/test-strlen.c: Likewise.
        * string/test-strncasecmp.c: Likewise.
        * string/test-strncat.c: Likewise.
        * string/test-strncmp.c: Likewise.
        * string/test-strncpy.c: Likewise.
        * string/test-strnlen.c: Likewise.
        * string/test-strpbrk.c: Likewise.
        * string/test-strrchr.c: Likewise.
        * string/test-strspn.c: Likewise.
        * string/test-strstr.c: Likewise.
        * string/tst-bswap.c: Likewise.
        * string/tst-cmp.c: Likewise.
        * string/tst-endian.c: Likewise.
        * string/tst-inlcall.c: Likewise.
        * string/tst-strcoll-overflow.c: Likewise.
        * string/tst-strfry.c: Likewise.
        * string/tst-strlen.c: Likewise.
        * string/tst-strtok.c: Likewise.
        * string/tst-strtok_r.c: Likewise.
        * string/tst-strxfrm.c: Likewise.
        * string/tst-strxfrm2.c: Likewise.
        * string/tst-svc.c: Likewise.
        * string/tst-svc2.c: Likewise.

commit b9e8c9087579e2021cf497713e047e040c84da28
Author: Zack Weinberg <address@hidden>
Date:   Wed Mar 22 08:39:36 2017 -0400

    Another round of inclusion fixes for _ISOMAC testsuite.
    
        * stdio-common/bug25.c: Include stdlib.h.
        * support/tst-support_format_dns_packet.c: Include stdio.h,
        stdlib.h, and string.h.
        * support/tst-support_record_failure.c: Include string.h.
        * support/tst-support_record_failure-2.sh: Adjust line number
        expectations and correct a typo in an error message.

commit c15f8eb50cea7ad1a4ccece6e0982bf426d52c00
Author: H.J. Lu <address@hidden>
Date:   Tue Mar 21 10:59:31 2017 -0700

    x86-64: Improve branch predication in _dl_runtime_resolve_avx512_opt [BZ 
#21258]
    
    On Skylake server, _dl_runtime_resolve_avx512_opt is used to preserve
    the first 8 vector registers.  The code layout is
    
      if only %xmm0 - %xmm7 registers are used
         preserve %xmm0 - %xmm7 registers
      if only %ymm0 - %ymm7 registers are used
         preserve %ymm0 - %ymm7 registers
      preserve %zmm0 - %zmm7 registers
    
    Branch predication always executes the fallthrough code path to preserve
    %zmm0 - %zmm7 registers speculatively, even though only %xmm0 - %xmm7
    registers are used.  This leads to lower CPU frequency on Skylake
    server.  This patch changes the fallthrough code path to preserve
    %xmm0 - %xmm7 registers instead:
    
      if whole %zmm0 - %zmm7 registers are used
        preserve %zmm0 - %zmm7 registers
      if only %ymm0 - %ymm7 registers are used
         preserve %ymm0 - %ymm7 registers
      preserve %xmm0 - %xmm7 registers
    
    Tested on Skylake server.
    
        [BZ #21258]
        * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_resolve_opt):
        Define only if _dl_runtime_resolve is defined to
        _dl_runtime_resolve_sse_vex.
        * sysdeps/x86_64/dl-trampoline.h (_dl_runtime_resolve_opt):
        Fallthrough to _dl_runtime_resolve_sse_vex.

commit a640393a18329ef4044bf9213f6466cd2d1e69f3
Author: Joseph Myers <address@hidden>
Date:   Tue Mar 21 16:40:16 2017 +0000

    Regenerate INSTALL.

commit 261d0141b3b563b9105ab2aaeda9fa15a4990da5
Merge: 1e4d83f e4e2621
Author: Thorsten Kukuk <address@hidden>
Date:   Tue Mar 21 16:47:00 2017 +0100

    Merge branch 'master' of ssh://sourceware.org/git/glibc
    
    Conflicts:
        ChangeLog

commit e4e26210c3bdb5dcdce7a3def3b90fa45d3e2c89
Author: Stefan Liebler <address@hidden>
Date:   Tue Mar 21 16:41:56 2017 +0100

    Fix failing test malloc/tst-interpose-nothread with GCC 7.
    
    The test malloc/tst-interpose-nothread fails on s390x if built
    with GCC 7 and glibc commit "Remove the str(n)dup inlines
    from string/bits/string2.h. Although inlining"
    (ae65d4f3c3995279ca458c460ebf8bab1885fa03) with output:
    error: free: 0x3fffdffa010: invalid allocation index: 0 (not less than 0)
    
    The destructor check_for_allocations in malloc/tst-interpose-aux.c is
    called twice.  One time after the test-child-process has finished 
successfully
    and once after the test-parent-process finishes.
    During the latter invocation, allocation_index == 0.  GCC 7 is now inlining 
the
    free function and calls unconditionally fail in get_header as
    header->allocation_index (type == size_t) is always >= allocation_index (= 
0).
    Before the mentioned commit above, strdup was replaced by strlen, malloc and
    memcpy.  The malloc call was also inlined and allocation_index was set to 
one.
    
    This patch moves the already existing compiler barrier before the invocation
    of free.
    
    ChangeLog:
    
        * malloc/tst-interpose-aux.c (check_for_allocations):
        Move compiler barrier before free.

commit 1e4d83f6fe38613e6f209ff09dfad8e69a6e1629
Author: Thorsten Kukuk <address@hidden>
Date:   Tue Mar 21 15:14:27 2017 +0100

    Deprecate libnsl by default (only shared library will be
    build for backward compatibility, no linking possible) and disable building
    of libnss_compat, libnss_nis and libnss_nisplus, except 
--enable-obsolete-nsl
    option is given to configure.
    
            * config.h.in: Add LINK_OBSOLETE_NSL.
            * config.make.in: Add build-obsolete-nsl.
            * configure.ac: Add obsolete-nsl option.
            * include/libc-symbols.h: Define libnsl_hidden_nolink_def.
            * include/rpcsvc/yp.h: Add missing functions as libnsl_hidden_proto.
            * include/rpcsvc/nislib.h: Likewise.
            * include/rpcsvc/ypclnt.h: Likewise.
            * manual/install.texi: Document --enable-obsolete-nsl.
            * nis/Makefile: Build only libnsl by default (add 
build-obsolete-nsl).
            * nis/nis_add.c: Replace libnsl_hidden_def with
            libnsl_hidden_nolink_def.
            * nis/nis_addmember.c: Likewise.
            * nis/nis_call.c: Likewise.
            * nis/nis_clone_obj.c: Likewise.
            * nis/nis_defaults.c: Likeise.
            * nis/nis_domain_of_r.c: Likewise.
            * nis/nis_error.c: Likewise.
            * nis/nis_file.c: Likewise.
            * nis/nis_free.c: Likewise.
            * nis_local_names.c: Likewise.
            * nis/nis_lookup.c: Likewise.
            * nis/nis_modify.c: Likewise.
            * nis/nis_print.c: Likewise.
            * nis/nis_remove.c: Likewise.
            * nis/nis_table.c: Likewise.
            * nis/nis_util.c: Likewise.
            * nis/nis_xdr.c: Likewise.
            * nis/yp_xdr.c: Likewise.
            * nis/ypclnt.c: Likewise.
            * nis/ypupdate_xdr.c: Likewise.
            * nis/nis_checkpoint.c: Add libnsl_hidden_nolink_def to all 
functions.
            * nis/nis_clone_dir.c: Likewise.
            * nis/nis_clone_res.c: Likewise.
            * nis/nis_creategroup.c: Likewise.
            * nis/nis_destroygroup.c: Likewise.
            * nis/nis_domain_of.c: Likewise.
            * nis/nis_getservlist.c: Likewise.
            * nis/nis_ismember.c: Likewise.
            * nis/nis_mkdir.c: Likewise.
            * nis/nis_ping.c: Likewise.
            * nis/nis_print_group_entry.c: Likewise.
            * nis/nis_removemember.c: Likewise.
            * nis/nis_rmdir.c: Likewise.
            * nis/nis_server.c: Likewise.
            * nis/nis_subr.c: Likewise.
            * nis/nis_verifygroup.c: Likewise.
    
    Signed-off-by: Thorsten Kukuk <address@hidden>

commit 76b2c32a166f4812c0649162c9df99d707779304
Author: Joseph Myers <address@hidden>
Date:   Mon Mar 20 21:30:28 2017 +0000

    conformtest: Add x32 XFAILs for mq_attr element types (bug 21279).
    
    POSIX specifies long as the type of elements of struct mq_attr.  For
    x32, they are __syscall_slong_t (i.e. long long).  This patch XFAILs
    the corresponding tests for x32 in the conformtest expectations (the
    bug should not be closed without an actual fix).
    
    Tested with build-many-glibcs.py.
    
        [BZ #21279]
        * sysdeps/unix/sysv/linux/x86_64/x32/Makefile
        [$(subdir) = conform] (conformtest-xfail-conds): Update comment.
        * conform/data/mqueue.h-data (mq_attr.mq_flags): XFAIL for
        x86_64-x32-linux.
        (mq_attr.mq_maxmsg): Likewise.
        (mq_attr.mq_msgsize): Likewise.
        (mq_attr.mq_curmsgs): Likewise.

commit 112039611cc21c5cbe41b578633f39d2fe396618
Author: Joseph Myers <address@hidden>
Date:   Mon Mar 20 21:28:16 2017 +0000

    conformtest: Add mips XFAIL for struct stat st_rdev type (bug 21278).
    
    MIPS o32 struct stat has the wrong type of st_rdev.  This patch XFAILs
    that test in the conformtest expectations for this case (the bug
    should not be closed without an actual fix, however).
    
    Tested with build-many-glibcs.py.
    
        [BZ #21278]
        * sysdeps/unix/sysv/linux/mips/mips32/Makefile
        [$(subdir) = conform] (conformtest-xfail-conds): Update comment.
        * conform/data/sys/stat.h-data (stat.st_rdev): XFAIL for
        mips-o32-linux.

commit ba7fe6906d213e226dff8606dca64feb48718e27
Author: Joseph Myers <address@hidden>
Date:   Mon Mar 20 17:32:19 2017 +0000

    Fix alpha termios.h NL2, NL3 namespace (bug 21268).
    
    sysdeps/unix/sysv/linux/alpha/bits/termios.h defines NL2 and NL3 for
    __USE_MISC || __USE_XOPEN.  These should only be defined for
    __USE_MISC as they are not part of any standard namespace.  This patch
    conditions them accordingly, matching the powerpc version of the
    header (the only other one in glibc that defines these macros).
    
    Tested (compilation only) with build-many-glibcs.py.
    
        [BZ #21268]
        * sysdeps/unix/sysv/linux/alpha/bits/termios.h (NL2): Define only
        if [__USE_MISC]
        (NL3): Likewise.

commit ddc3fb333469c2997798742dc0509dc1e3201d91
Author: Mike Frysinger <address@hidden>
Date:   Mon Mar 20 04:47:56 2017 -0400

    posix_spawn: fix stack setup on ia64 [BZ #21275]
    
    The ia64-specific clone2 call expects the base of the stack mapping and
    the stack size as sep arguments, not an initial stack value as on other
    stack-grows-down architectures.  Reuse the stack-grows-up macro so we
    pass in the right stack base.
    
    Reported-by: Matt Turner <address@hidden>

commit 15e9a4f378c8607c2ae1aa465436af4321db0e23
Author: Christian Brauner <address@hidden>
Date:   Fri Jan 27 15:59:59 2017 +0100

    linux ttyname and ttyname_r: do not return wrong results
    
    If a link (say /proc/self/fd/0) pointing to a device, say /dev/pts/2, in a
    parent mount namespace is passed to ttyname, and a /dev/pts/2 exists (in a
    different devpts) in the current namespace, then it returns /dev/pts/2.
    But /dev/pts/2 is NOT the current tty, it is a different file and device.
    
    Detect this case and return ENODEV.  Userspace can choose to take this as a 
hint
    that the fd points to a tty device but to act on the fd rather than the 
link.
    
    Signed-off-by: Serge Hallyn <address@hidden>
    Signed-off-by: Christian Brauner <address@hidden>

commit 345118d7f5bc42c8d4c3a8ef70b9b709fa57e93d
Author: Joseph Myers <address@hidden>
Date:   Sat Mar 18 00:24:13 2017 +0000

    conformtest: XFAIL tv_nsec tests for x32 (bug 16437).
    
    This patch XFAILs the conformtest tv_nsec tests for x32 so that the
    incorrect type does not potentially hide other failures.  As this is
    not a fix for the bug, it should remain open in Bugzilla.
    
    Tested (compilation only) with build-many-glibcs.py.
    
        [BZ #16437]
        * sysdeps/unix/sysv/linux/x86_64/x32/Makefile
        [$(subdir) = conform] (conformtest-xfail-conds): New variable.
        * conform/data/signal.h-data (timespec.tv_nsec): XFAIL for
        x86_64-x32-linux.
        * conform/data/sys/select.h-data (timespec.tv_nsec): Likewise.
        * conform/data/sys/stat.h-data (timespec.tv_nsec): Likewise.
        * conform/data/time.h-data (timespec.tv_nsec): Likewise.

commit 19641dbd61fe0440fa1f0ebd2f358b5ba98e839f
Author: Joseph Myers <address@hidden>
Date:   Sat Mar 18 00:17:25 2017 +0000

    Fix sparc64 bits/setjmp.h namespace (bug 21261).
    
    sysdeps/unix/sysv/linux/sparc/bits/setjmp.h defines 64-bit __jmp_buf
    with a load of identifiers that are not part of any standard
    namespace, resulting in conform/ tests failing.  This patch fixes this
    by moving those identifiers to the implementation namespace, so
    enabling the conform/ tests to pass for sparc64.
    
    Tested (compilation only) for sparc64 with build-many-glibcs.py.
    
        [BZ #21261]
        * sysdeps/unix/sysv/linux/sparc/bits/setjmp.h
        [__WORDSIZE == 64 && !_ASM] (__sparc64_jmp_buf): Use reserved
        names for all fields.
        * sysdeps/sparc/sparc64/jmpbuf-unwind.h (_JMPBUF_UNWINDS): Update
        for jmp_buf field renaming.
        (_JMPBUF_UNWINDS_ADJ): Likewise.

commit 22b72f356d6dd6f394cc632d7fbef80490e9f4c4
Author: Joseph Myers <address@hidden>
Date:   Sat Mar 18 00:16:05 2017 +0000

    conformtest: Handle conditional XFAILs with allow-header.
    
    This patch fixes the conformtest handling of headers listed in
    allow-header to process xfail[cond]- in the expectations for those
    headers.
    
    Tested with build-many-glibcs.py.
    
        * conform/conformtest.pl: Handle xfail[cond]- in header mentioned
        with allow-header.

commit 17f487b7afa7cd6c316040f3e6c86dc96b2eec30
Author: DJ Delorie <address@hidden>
Date:   Fri Mar 17 15:31:38 2017 -0400

    Further harden glibc malloc metadata against 1-byte overflows.
    
    Additional check for chunk_size == next->prev->chunk_size in unlink()
    
    2017-03-17  Chris Evans  <address@hidden>
    
        * malloc/malloc.c (unlink): Add consistency check between size and
        next->prev->size, to further harden against 1-byte overflows.

commit b170d2e7ab998180abbd24fdd6c03ecb4293d000
Author: H.J. Lu <address@hidden>
Date:   Fri Mar 17 11:38:13 2017 -0700

    Use CPU_FEATURES_CPU_P to check if AVX is available
    
    Don't use bit_cpu_AVX directly.
    
        * sysdeps/x86/cpu-features.c (init_cpu_features): Check AVX with
        CPU_FEATURES_CPU_P.

commit 20409ce5e806c7d2fba103d6b88b5a0c2f2fbf5a
Author: Joseph Myers <address@hidden>
Date:   Fri Mar 17 16:27:03 2017 +0000

    Make alpha termios.h define IXANY unconditionally (bug 21259).
    
    sysdeps/unix/sysv/linux/alpha/bits/termios.h defines IXANY only if
    __USE_MISC.  But it's in the base standard for POSIX.1:2008, and
    XSI-shaded in previous standards.  This patch makes the header define
    it unconditionally, like other versions of this header do (it's always
    reserved by standards that don't require it, so defining
    unconditionally is OK by the standards).
    
    Tested (compilation only) for alpha with build-many-glibcs.py.  Note
    that there are still termios.h conformtest failures after this patch
    because of other issues with the alpha version of this header.
    
        [BZ #21259]
        * sysdeps/unix/sysv/linux/alpha/bits/termios.h (IXANY): Define
        unconditionally, not just for [__USE_MISC].

commit 0cb521871ba11772fb52617cdba1b66089ffd749
Author: Joseph Myers <address@hidden>
Date:   Fri Mar 17 02:54:59 2017 +0000

    conformtest: Add mips XFAIL for struct stat st_dev type (bug 17786).
    
    As noted in bug 17786, MIPS o32 struct stat has the wrong type of
    st_dev.  This patch XFAILs that test in the conformtest expectations
    for this case (the test still fails after the patch because there's
    also a similar issue for st_rdev that needs reporting and XFAILing
    separately, and the bug should not be closed without an actual fix,
    not just XFAILing).
    
    Tested for mips with build-many-glibcs.py.
    
        [BZ #17786]
        * sysdeps/unix/sysv/linux/mips/mips32/Makefile: New file.
        * conform/data/sys/stat.h-data (stat.st_dev): XFAIL for
        mips-o32-linux.

commit d19887f8bb21481a95b9eff0b4efc909bfe82e2a
Author: Joseph Myers <address@hidden>
Date:   Fri Mar 17 02:50:51 2017 +0000

    Add missing piece to last ChangeLog entry.

commit bb5cc234e1db6a439841f8c4e7e7368b1348fca3
Author: Joseph Myers <address@hidden>
Date:   Fri Mar 17 02:42:16 2017 +0000

    conformtest: Add alpha XFAIL for struct netent n_net type (bug 21260).
    
    As noted in bug 21260, sysdeps/unix/sysv/linux/alpha/bits/netdb.h
    defines struct netent with n_net of type unsigned long instead of the
    correct uint32_t.  This patch XFAILs that test in the conformtest
    expectations for alpha.  (This is not a fix for the bug, and it should
    not be closed without an actual fix.)
    
    Tested for alpha with build-many-glibcs.py.
    
        [BZ #21260]
        * sysdeps/unix/sysv/linux/alpha/Makefile
        [$(subdir) = conform] (conformtest-xfail-conds): New variable.

commit c33eac51f4a8aa6a7ea77cccf6bea3f417eaff6d
Author: Joseph Myers <address@hidden>
Date:   Fri Mar 17 01:21:10 2017 +0000

    conformtest: Skip execution tests when cross-compiling.
    
    This patch makes conformtest skip execution tests when
    cross-compiling, as an interim step towards running most of these
    tests (presently disabled) in that case.  It omits the (obvious)
    Makefile change to actually enable the conformtest tests when
    cross-compiling, as there are still enough failures seen with
    build-many-glibcs.py that I'd like to get the results cleaner before
    enabling these tests.
    
    Tested for x86_64, and with the tests actually enabled for
    cross-compilation with build-many-glibcs.py.
    
        * conform/conformtest.pl ($cross): New variable.
        (--cross): New command-line option.
        (runtest): Skip test execution when cross-compiling.
        * conform/Makefile (conformtest-cross): New variable.
        ($(conformtest-header-tests)): Pass $(conformtest-cross) to
        conformtest.pl.

commit 33c02810c5fdc06deddbf0b1bfd78969da9ec739
Author: Joseph Myers <address@hidden>
Date:   Fri Mar 17 01:08:27 2017 +0000

    conformtest: Support system-specific XFAILs.
    
    conformtest has an internal XFAIL mechanism to allow failures of
    individual expectations to be ignored, so that known hard-to-fix
    failures (e.g. those affecting ABIs or requiring kernel changes) do
    not cause the overall tests to FAIL and so hide other failures from
    the same (header, standard) pair.
    
    Various such bugs are system-specific, so this patch adds a mechanism
    to allow system-specific XFAILs.  A system-independent XFAIL is
    achieved by putting "xfail-" at the start of the relevant expectation
    in the *-data files.  A system-specific XFAIL instead uses
    "xfail[cond]-", where "cond" is a condition listed in
    conformtest-xfail-conds in a sysdeps makefile (so one for x32 might
    set conformtest-xfail-conds = x86_64-x32-linux, for example, and then
    an expectation for tv_nsec's type could use
    xfail[x86_64-x32-linux]-).  The actual names are arbitrary, just
    needing to match between the makefiles and the expectations, and if
    necessary you can use "xfail[cond1|cond2]-" for a test that is
    expected to fail under multiple conditions.  As with
    system-independent XFAILs, I think system-specific ones should have a
    bug filed in Bugzilla and a comment referencing that bug.
    
    Tested for x86_64, including with test expectations and makefiles
    changed to use the new facility.
    
        * conform/conformtest.pl ($xfail_str): New variable.
        (--xfail=): New command-line option.
        (top level): Handle expectations starting xfail[cond]-.
        * conform/Makefile (conformtest-xfail): New variable.
        ($(conformtest-header-tests)): Pass $(conformtest-xfail) to
        conformtest.pl.

commit 0fbca26c39e4735e7285092c98c75500550d84f4
Author: Joseph Myers <address@hidden>
Date:   Thu Mar 16 17:51:23 2017 +0000

    conformtest: Make more tests into compilation tests.
    
    The conformtest header tests test some things through compilation
    tests and others through execution tests.  This patch makes more of
    the tests into compilation tests, using _Static_assert (note: for
    float.h tests on floating-point values this is depending on a GNU
    extension, that those assertions are allowed in the absence of
    -pedantic although they aren't strictly integer constant expressions).
    The remaining execution tests are for values of things listed as
    "symbol" (in fact no such things have a value expectation listed) and
    for values of macros defined as string constants (three such values
    listed in total).
    
    This is intended as preparation for enabling the vast bulk of the
    tests to run for cross compilation.  (Even the few remaining execution
    tests ought in principle to run for cross compilation when a test
    wrapper is defined, but that's more complicated.  The existing
    execution tests for native builds in fact are linked and run with an
    existing installed libc that's required to exist to link against,
    rather than with the newly built libc; only the new headers are used.)
    
    Tested for x86_64.
    
        * conform/conformtest.pl: Use compilation instead of execution
        tests for testing values of constants and usability in #if.

commit 598fe6d9f4c860fe084abb769510a4636fe8f293
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Thu Mar 16 10:18:46 2017 -0300

    XFAIL catan and catanh tests on ibm128
    
    Mark 4 catan and catanh tests as xfail-rounding:ibm128-libgcc.
    After this patch all catan and catanh tests pass on ibm128.
    
    Regenerated auto-libm-test-out using gmp 6.1.2, mpfr 3.1.5 and upstream
    mpc (9ef8030e50),
    
    Tested on powerpc, powerpc64 and powerpc64le.
    
        * math/auto-libm-test-in: Mark some catan and catanh as
        xfail-rounding:ibm128-libgcc.
        * math/auto-libm-test-out-catan: Regenerate.
        * math/auto-libm-test-out-catanh: Likewise.

commit 2072f5c34ede81dde9e0d953d57a0690a66b0f12
Author: Joseph Myers <address@hidden>
Date:   Thu Mar 16 13:31:57 2017 +0000

    Remove C++ namespace handling from glibc headers.
    
    glibc headers include some code (not particularly consistent or
    systematic) to put various declarations in C++ namespaces std and
    __c99, if _GLIBCPP_USE_NAMESPACES is defined.
    
    As noted in <https://gcc.gnu.org/ml/libstdc++/2017-03/msg00025.html>,
    this macro was removed from libstdc++ in 2000.  I don't expect
    compilation with such old versions of libstdc++ to work with current
    glibc headers anyway (whereas old *binaries* are expected to stay
    working with current glibc); this patch (which should be a no-op with
    any libstdc++ version postdating that removal) removes all this code
    from the glibc headers.
    
    The begin-end-check.pl test, whose comments say it is about checking
    these namespace macro calls, is also removed.  The code in that test
    would have covered __BEGIN_DECLS / __END_DECLS as well, but if those
    weren't properly matched it would show up with the
    check-installed-headers-cxx tests, so I don't think there is an actual
    use for keeping begin-end-check.pl with the namespace code removed.
    
    Tested for x86_64 and x86 (testsuite, and that installed stripped
    shared libraries are unchanged by the patch).
    
        * misc/sys/cdefs.h (__BEGIN_NAMESPACE_STD): Remove macro.
        (__END_NAMESPACE_STD): Likewise.
        (__USING_NAMESPACE_STD): Likewise.
        (__BEGIN_NAMESPACE_C99): Likewise.
        (__END_NAMESPACE_C99): Likewise.
        (__USING_NAMESPACE_C99): Likewise.
        * math/math.h (_Mdouble_BEGIN_NAMESPACE): Do not define and
        undefine macro.
        (_Mdouble_END_NAMESPACE): Likewise.
        * ctype/ctype.h: Do not handle C++ namespaces.
        * libio/bits/stdio-ldbl.h: Likewise.
        * libio/stdio.h: Likewise.
        * locale/locale.h: Likewise.
        * math/bits/mathcalls.h: Likewise.
        * setjmp/setjmp.h: Likewise.
        * signal/signal.h: Likewise.
        * stdlib/bits/stdlib-float.h: Likewise.
        * stdlib/bits/stdlib-ldbl.h: Likewise.
        * stdlib/stdlib.h: Likewise.
        * string/string.h: Likewise.
        * sysdeps/x86/fpu/bits/mathinline.h: Likewise.
        * time/bits/types/clock_t.h: Likewise.
        * time/bits/types/struct_tm.h: Likewise.
        * time/bits/types/time_t.h: Likewise.
        * time/time.h: Likewise.
        * wcsmbs/bits/wchar-ldbl.h: Likewise.
        * wcsmbs/uchar.h: Likewise.
        * wcsmbs/wchar.h: Likewise.
        [_GLIBCPP_USE_NAMESPACES] (wint_t): Remove conditional definition.
        * wctype/wctype.h: Do not handle C++ namespaces.
        * scripts/begin-end-check.pl: Remove.
        * Makefile (installed-headers): Likewise.
        (tests-special): Do not add $(objpfx)begin-end-check.out.
        ($(objpfx)begin-end-check.out): Remove.

commit d6fc3f6516cd20f195758086fbbbe3f17a8a6d95
Author: Steve Ellcey <address@hidden>
Date:   Wed Mar 15 16:48:25 2017 -0700

    Add ChangeLog entry for aarch64 ifunc support patch.
    
        Forgot to add ChangeLog entry.

commit d2e4346a30683cc42c57bd1bfd457897d78c6d7e
Author: Steve Ellcey <address@hidden>
Date:   Wed Mar 15 16:46:26 2017 -0700

    Add ifunc support for aarch64.
    
        * sysdeps/aarch64/dl-machine.h: Include cpu-features.c.
        (DL_PLATFORM_INIT): New define.
        (dl_platform_init): New function.
        * sysdeps/aarch64/ldsodefs.h: Include cpu-features.h.
        * sysdeps/unix/sysv/linux/aarch64/cpu-features.c: New file.
        * sysdeps/unix/sysv/linux/aarch64/cpu-features.h: Likewise.
        * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c: Likewise.
        * sysdeps/unix/sysv/linux/aarch64/libc-start.c: Likewise.

commit fbe355fbd1973d6e29561084b3eaeb4bfe9d515a
Author: Mike Frysinger <address@hidden>
Date:   Sun Mar 12 15:12:21 2017 -0700

    x86_64: fix static build of __mempcpy_chk for compilers defaulting to 
PIC/PIE
    
    When glibc is compiled with gcc 6.2 that has been configured with
    to default to PIC/PIE, the static version of __mempcpy_chk is not built,
    as the test is done on PIC instead of SHARED.  Fix the test to check for
    SHARED, like it is done for similar functions like __memcpy_chk.
    
    2017-03-12  Mike Frysinger  <address@hidden>
    
        * sysdeps/x86_64/mempcpy_chk.S (__mempcpy_chk): Check for SHARED
        instead of PIC.

commit e4e52ff059f46472145433d2bd003d5383f89e82
Author: Joseph Myers <address@hidden>
Date:   Wed Mar 15 22:00:54 2017 +0000

    Improve float range reduction accuracy near pi/2 (bug 21094).
    
    Bug 21094 reports 3ulp errors of cosf and tanf for certain arguments
    near pi/2 arising from the use of an insufficiently accurate range
    reduction.  (To be clear, this is a quality-of-implementation issue
    relating to the apparent intent of those particular cosf and tanf
    implementations; 3ulp is within the general glibc accuracy goals, so
    not inherently a bug.)
    
    This patch fixes that error by making a wider range of cases use the
    existing more accurate range reduction for arguments close to pi/2.
    The wider range of values is still narrow enough for the "z -=
    pio2_2;" in the more accurate case to be exact, as the code expects.
    
    Tested for x86_64, x86 and mips64; no ulps updates needed (but at
    least on mips64, the larger ulps were seen if the tests were added
    without the substantive fix).
    
        [BZ #21094]
        * sysdeps/ieee754/flt-32/e_rem_pio2f.c (__ieee754_rem_pio2f): Use
        24+24+24-bit pi for wider range of values around pi/2.
        * math/auto-libm-test-in: Add more tests of cos and tan.
        * math/auto-libm-test-out-cos: Regenerated.
        * math/auto-libm-test-out-tan: Likewise.

commit 5d20a49aaccef5ef7adac93d5ca159f6b7ba0105
Author: John David Anglin <address@hidden>
Date:   Mon Feb 20 20:31:57 2017 -0500

    hppa: Fix setting of __libc_stack_end
    
    The binutils package was recently changed to fix -z relro support on hppa.
    See ld/21000 for details:
    https://sourceware.org/bugzilla/show_bug.cgi?id=21000
    
    This exposed a problem with the _dl_start_user function in the RTLD_START
    define.  We need to set __libc_stack_end before it is made read only.  For
    this, we need to define DL_STACK_END.  The offset of 0x160 gives the same
    stack end as the code in _dl_start_user.
    
    A build log with the attached patch is here:
    
https://buildd.debian.org/status/fetch.php?pkg=glibc&arch=hppa&ver=2.24-9&stamp=1487639205&raw=0

commit 3ab2021feae3b5ae6ef0a7fd30eeef2cfa688a17
Author: Alexey Neyman <address@hidden>
Date:   Wed Jan 25 12:54:57 2017 -0800

    Fix build with --enable-static-nss [BZ #21088]
    
    Signed-off-by: Alexey Neyman <address@hidden>

commit e37fc4aa68317bff9d3f668da1c0779d283dab51
Author: Alexey Neyman <address@hidden>
Date:   Sun Mar 12 13:16:18 2017 -0700

    Fix combreloc test with BSD grep
    
    The test for "-z combreloc" fails when cross-compiling on a machine
    that uses BSD grep (e.g. on macos). grep complains about empty
    subexpression and exits with non-zero status, which is interpreted
    by configure as "not found". As a result, support for "-z combreloc"
    (HAVE_Z_COMBRELOC) is not detected, leading to link failure on SPARC.
    
    While there, replace fgrep with 'grep -F', as fgrep is non-POSIX.
    
        * configure.ac: Avoid empty subexpression in grep.
    
    Signed-off-by: Alexey Neyman <address@hidden>

commit b36a65e5cadc201eb840e2b7716ae878e5c3533f
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Mar 13 10:20:05 2017 -0300

    Fix test-errno issues
    
    This patch fixes multiple issues of test-errno.c (9a56f8718341):
    
      - Rename Linux test-errno.c to test-errno-linux.c to avoid build
        the same source for both tests.
    
      - Add a mlock check for 32 bits build running on 64 bits kernels.
        Althuough man pages states that mlock fails with EINVAL if final
        address overflows, kernels does not return it for aforementioned
        condition (it returns ENOMEM instead).  Although it seems to be
        a kernel issue for compat syscall handling, I think it is worth
        to still check syscall return and document the behavior.
    
      - Initialize option lenght for setsockopt check.
    
      - Change open test from EINVAL to EISDIR.
    
    Checked on x86_64-linux-gnu and i686-linux-gnu (running on 64 bits
    kernel).
    
        * posix/test-errno.c (do_test): Initialize setsockopt optlen.
        * sysdeps/unix/sysv/linux/test-errno.c: Move to ...
        * sysdeps/unix/sysv/linux/test-errno-linux.c: ... here.
        (test_wrp_rv): Fix format.
        (test_wrp_rv2): New macro.
        (do_test): Handle mlock return on 64 bits kernels with 32 bits
        binaries.

commit ffe308e4fcf2f276c87fd405596569ba52ad0a29
Author: Joseph Myers <address@hidden>
Date:   Wed Mar 15 17:32:46 2017 +0000

    Fix test-math-vector-sincos.h aliasing.
    
    x86_64 libmvec tests have been failing to build lately with GCC
    mainline with -Wuninitialized errors, and Markus Trippelsdorf traced
    this to an aliasing issue
    <https://sourceware.org/ml/libc-alpha/2017-03/msg00169.html>.
    
    This patch fixes the aliasing issue, so that the vectors-of-pointers
    are initialized using a union instead of pointer casts.  This also
    fixes the testsuite build failures with GCC mainline.
    
    Tested for x86_64 (full testsuite with GCC 6; testsuite build with GCC
    mainline with build-many-glibcs.py).
    
        * sysdeps/x86/fpu/test-math-vector-sincos.h (INIT_VEC_PTRS_LOOP):
        Use a union when storing pointers.
        (VECTOR_WRAPPER_fFF_2): Do not take address of integer vector and
        cast result when passing to INIT_VEC_PTRS_LOOP.
        (VECTOR_WRAPPER_fFF_3): Likewise.
        (VECTOR_WRAPPER_fFF_4): Likewise.

commit ff80ec4283493958d7ee9ac8e41ca09837f70bcd
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Mon Mar 6 17:02:37 2017 -0300

    Split helper classification macros from mathcalls.h
    
    The classification macros: finite, fpclassify, iseqsig, isinf, isnan,
    issignaling, and signbit are defined by ISO C11 and declared in
    mathcalls.h for each of the floating-point types: float, double, and
    long double.
    
    TS 18661-3 does not mention these macros for float128, however support
    for them must be present when _Float128 is present.  This is true,
    even when the feature test macro __STDC_WANT_IEC_60559_TYPES_EXT__ is
    false.  Other function declarations in mathcalls.h, on the other hand,
    depend on __STDC_WANT_IEC_60559_TYPES_EXT__.
    
    This patch splits the helper functions (__finite, __fpclassify,
    __iseqsig, __isinf, __isnan, __issignaling, and __signbit) from
    mathcalls.h, so that these helper functions can be declared for
    _Float128, even when __STDC_WANT_IEC_60559_TYPES_EXT__ is false.
    
    Tested for powerpc64le, s390x, and x86_64.
    
        * include/bits/mathcalls-helper-functions.h: New file.
        * math/Makefile (headers): Add bits/mathcalls-helper-functions.h.
        * math/bits/mathcalls.h (__finite, __fpclassify, __iseqsig)
        (__isinf, __isnan, __issignaling, __signbit): Move declarations to
        math/bits/mathcalls-helper-functions.h.
        * math/bits/mathcalls-helper-functions.h: New file.
        * math/math.h: Include bits/mathcalls-helper-functions.h for
        float, double, and long double.

commit 826aa1346f51ead7b9483ee3f269c78c3bf6310d
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Tue Mar 14 17:36:08 2017 -0300

    Use internal __feraiseexcept in __iseqsig
    
    Replace the use of feraiseexcept with __feraiseexcept in the helper
    function __iseqsig (math/s_iseqsig_template.c).
    
    Tested for powerpc64le, s390x, and x86_64.
    
        * math/s_iseqsig_template.c (__iseqsig): Use __feraiseexcept
        instead of feraiseexcept.

commit 2bda2d820dcd9ea382b7380c18d469c23232fbbf
Author: Florian Weimer <address@hidden>
Date:   Wed Mar 15 13:14:54 2017 +0100

    support: Explain ignored failures of temporary file removal [BZ #21243]

commit ed3ea040bae8ef2cf131081124a1248a9fd3dca9
Author: Florian Weimer <address@hidden>
Date:   Wed Mar 15 13:13:58 2017 +0100

    support: Add error checking to close system calls [BZ #21244]

commit f889e73f603dcf90b4db6a2065104a78c1a0e94d
Author: Florian Weimer <address@hidden>
Date:   Wed Mar 15 12:57:12 2017 +0100

    support_format_dns_packet: Fix CNAME and multiple RR handling
    
    Before this change, the loop iterating over RRs in the answer
    section stopped at the first CNAME record, never printing them.
    The CNAME and PTR record contents was extracted from the wrong
    buffer (whole packet instead RDATA).  This desynced the parsing
    after the first CNAME or PTR record.
    
    Also fix the AAAA record parsing by checking their sizes.

commit ed7d6072f25f75b808b40c206371361f1313f342
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Mar 14 16:42:08 2017 -0300

    Fix missing posix_fadvise64 mips64 static build (BZ #21232)
    
    This patch fixes the missing posix_fadvise64 symbol for static build
    required for _FILE_OFFSET_BITS=64 on mips64 build.
    
    Checked on a mips64-linux-gnu build with run-built-tests=no.
    
        [BZ #21232]
        * sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise64.c: Add
        posix_fadvise64 weak_alias for static build.

commit 605c5ef4fb7c9a9bbf225724ef73e6437476fb3c
Author: Andreas Schwab <address@hidden>
Date:   Thu Dec 15 12:17:19 2016 +0100

    Remove _dl_platform_string
    
    There are no non-trivial uses of _dl_platform_string.

commit 9d067269f5c3ecc5913e7e424a4778608d784731
Author: Samuel Thibault <address@hidden>
Date:   Mon Mar 13 20:41:12 2017 +0100

    hurd: Make send/recv more posixish
    
    Thanks David Michael for the suggestion.
    
        * sysdeps/mach/hurd/send.c (__send): Convert hurdish error code into
        posix error code.
        * sysdeps/mach/hurd/recv.c (__recv): Likewise.

commit c89721e25d609ec4f3366a3956b2f3e5acd76e77
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Mar 13 08:04:22 2017 -0300

    build-many-glibcs: Remove no_isolate from SH config
    
    Now with d40dbe7 SH build does not require more the no_isolate gcc
    options to correct build glibc (since SH build now does not generate
    a trap anymore).  This patch removes the unrequired options from
    SH config.
    
    Checked with a build for sh3-linux-gnu, sh3eb-linux-gnu, sh4-linux-gnu,
    and sh4eb-linux-gnu.
    
        * scripts/build-many-glibcs.py (Context.add_all_configs): Remove
        no_isolate usage for SH.

commit ae65d4f3c3995279ca458c460ebf8bab1885fa03
Author: Wilco Dijkstra <address@hidden>
Date:   Mon Mar 13 18:42:35 2017 +0000

     Remove the str(n)dup inlines from string/bits/string2.h.  Although inlining
    calls with constant strings shows a small (~10%) performance gain, strdup is
    typically used in error reporting code, so not performance critical.
    Remove the now unused __need_malloc_and_calloc related defines from 
stdlib.h.
    
    Rename existing uses of str(n)dup to __str(n)dup so it no longer needs to be
    redirected to a builtin.  Also building GLIBC with -Os now no longer shows
    localplt or linkname space failures (partial fix for BZ #15105 and BZ 
#19463).
    
            [BZ #15105]
            [BZ #19463]
            * elf/dl-cache.c (_dl_load_cache_lookup): Use __strdup.
            * inet/rcmd.c (rcmd_af): Likewise.
            * inet/rexec.c   (rexec_af): Likewise.
            * intl/dcigettext.c (_LIBC): Likewise.
            * intl/finddomain.c (_nl_find_domain): Use strdup expansion.
            * locale/loadarchive.c (_nl_load_locale_from_archive): Use __strdup.
            * locale/setlocale.c (setlocale): Likewise.
            * posix/spawn_faction_addopen.c
            (posix_spawn_file_actions_addopen): Likewise.
            * stdlib/putenv.c (putenv): Use __strndup.
            * sunrpc/svc_simple.c (__registerrpc): Use __strdup.
            * sysdeps/posix/getaddrinfo.c (gaih_inet): Use __strdup/__strndup.
            * include/stdlib.h (__need_malloc_and_calloc): Remove uses.
            (__Need_M_And_C) Remove define/undef.
            * stdlib/stdlib.h (__need_malloc_and_calloc): Remove uses.
            (__malloc_and_calloc_defined): Remove define.
            * string/bits/string2.h (__strdup): Remove define.
            (strdup): Likewise.
            (__strndup): Likewise.
            (strndup): Likewise.

commit 53a4608f8de7a89a41917ffeba9cd2098d6dec86
Author: Joseph Myers <address@hidden>
Date:   Mon Mar 13 16:44:19 2017 +0000

    Add more IPV6_* macros to sysdeps/unix/sysv/linux/bits/in.h.
    
    Linux 4.10 adds IPV6_RECVFRAGSIZE to include/uapi/linux/in6.h, which
    shows that several such IPV6_* macros are missing from glibc's
    sysdeps/unix/sysv/linux/bits/in.h (while older ones are present).  I
    don't know whether any of these might be deliberately omitted, but
    this patch adds what appear to be the missing more recent macros to
    glibc.
    
    Tested for x86_64.
    
        * sysdeps/unix/sysv/linux/bits/in.h (IPV6_AUTOFLOWLABEL): New
        macro.
        (IPV6_ADDR_PREFERENCES): Likewise.
        (IPV6_MINHOPCOUNT): Likewise.
        (IPV6_ORIGDSTADDR): Likewise.
        (IPV6_RECVORIGDSTADDR): Likewise.
        (IPV6_TRANSPARENT): Likewise.
        (IPV6_UNICAST_IF): Likewise.
        (IPV6_RECVFRAGSIZE): Likewise.

commit d50a2c094c387c4aa1fb2597db2886cae965041e
Author: Thorsten Kukuk <address@hidden>
Date:   Mon Mar 13 17:43:10 2017 +0100

    Add missing ChangeLog entries.

commit c38120459219ecb5827c42e793cb3921be089f2f
Author: Thorsten Kukuk <address@hidden>
Date:   Mon Mar 13 17:26:43 2017 +0100

    The rpcgen tests should not run if we don't build rpcgen.
    
        * sunrpc/Makefile: only run rpcgen tests if we build rpcgen.

commit d40dbe722f004f999b589de776f7e57e564dda01
Author: Alexey Neyman <address@hidden>
Date:   Wed Feb 8 16:00:57 2017 -0200

    sh: Fix building with gcc5/6
    
    Build glibc for sh4-unknown-linux-gnu currently fails if one's
    using GCC5/6: in dl-conflict.c, the elf_machine_rela() function
    is called with NULL as its 3rd argument, sym. The implementation
    of that function in sysdeps/sh/dl-machine.h dereferences that pointer:
    
    const Elf32_Sym *const refsym = sym;
    ...
    if (map == &GL(dl_rtld_map))
      value -= map->l_addr + refsym->st_value + reloc->r_addend;
    
    GCC discovers a null pointer dereference, and in accordance with
    -fdelete-null-pointer-checks (which is enabled in -O2) replaces this
    code with a trap - which, as SH does not implement a trap pattern in
    GCC, evaluates to an abort() call. This abort() call pulls many more
    objects from libc_nonshared.a, eventually resulting in link failure
    due to multiple definitions for a number of symbols.
    
    As far as I see, the conditional before this code is always false in
    rtld: _dl_resolve_conflicts() is called with main_map as the first
    argument, not GL(_dl_rtld_map), but since that call is in yet another
    compilation unit, GCC does not know about it. Patch that wraps this
    conditional into !defined RESOLVE_CONFLICT_FIND_MAP attached.
    
        * sysdeps/sh/dl-machine.h (elf_machine_rela): The condition
        in R_SH_DIR32 case is always false when inlined from
        dl-conflict.c. Ifdef out to prevent GCC from insertin an
        abort() call.

commit cb09a3d49742aa4b8e541334e2e49e8cb9b652e2
Author: Marko Myllynen <address@hidden>
Date:   Sun Mar 12 17:23:52 2017 -0300

    Fix send consolidation typo
    
    Fix 60f9423b type for alpha kernel-features.h definition.
    
        * sysdeps/unix/sysv/linux/alpha/kernel-features.h
            (__ASSUME_RECV_SYSCALL): Replace duplicate by
            __ASSUME_SEND_SYSCALL.

commit 6af0e5109484cc5a170c1c3c0b31a8cb0fb5ac04
Author: Thorsten Kukuk <address@hidden>
Date:   Sat Mar 11 11:36:58 2017 +0100

    If sunrpc code is disabled, rpcsvc header files, rpcgen and
    librpcsvc.a should not be installed, too.
    
        * sunrpc/Makefile: don't build and install rpcsvc header
        files, rpcgen and librpcsvc.a by default.
    
    Signed-off-by: Thorsten Kukuk <address@hidden>

commit 93adfe2d797a2a43d2374553ac63f7507bbd1738
Author: Stefan Liebler <address@hidden>
Date:   Fri Mar 10 08:45:29 2017 +0100

    Update auto-libm-test-out for catan / catanh.
    
    I've used gmp 6.1.2, mpfr 3.1.5 and upstream mpc with fix in mpc_atan
    
(https://scm.gforge.inria.fr/anonscm/gitweb?p=mpc/mpc.git;a=commit;h=958aac9b15a659d6fb5edcb11778123f8a35b14f)
    to build gen-auto-libm-tests and regenerated  catan / catanh out files.
    Regenerated ULPs for s390 from scratch.  Now the catan / catanh tests
    are passing.
    
    ChangeLog:
    
        * math/auto-libm-test-out-catan: Regenerated.
        * math/auto-libm-test-out-catanh: Likewise.
        * sysdeps/s390/fpu/libm-test-ulps: Likewise.

commit b24d6d155062b6f3ecd7b0d55442079c941e59c0
Author: Joseph Myers <address@hidden>
Date:   Thu Mar 9 22:37:47 2017 +0000

    Regenerate MIPS catan, catanh long double ulps.
    
    This patch regenerates MIPS catan and catanh ulps for long double with
    fixed expected results for the tests of those functions.  ulps for
    other types (which may see variation depending on whether glibc is
    built for a processor with fused multiply-add support) are
    deliberately not reduced.  ulps are not regenerated for powerpc-nofpu
    as such regeneration does not result in any changes for long double.
    
        * sysdeps/mips/mips64/libm-test-ulps: Update catan and catanh ulps
        for long double with corrected test expectations.

commit 60f9423b6b02d79f8fef65552ecd21e0fd097774
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Mar 6 15:13:03 2017 +0100

    Consolidate Linux send implementation
    
    This patch consolidates the send Linux syscall implementation on
    sysdeps/unix/sysv/linux/send{to}.c.  The changes are:
    
      1. Remove send from auto-generation syscalls.list on the architecture
         that uses __NR_send.
      2. Define __NR_send for architectures that supports it. It was done 
instead
         of defining in default kernel-features.h because current Linux practice
         for new ports are to implement only __NR_sendto [1] and it will
         require adding new kernel-features for ports that do not require it
         (aarch64 for instance).
      3. Remove __ASSUME_SENDTO_FOR_SEND_SYSCALL and decide to use
         __NR_sendto for send generation based on __ASSUME_SENDTO_SYSCALL.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    aarch64-linux-gnu, arm-linux-gnueabihf, and powerpc64le-linux-gnu.
    
        * sysdeps/unix/sysv/linux/sysdep.h (HAVE_INTERNAL_SEND_SYMBOL):
        Define.
        * sysdeps/unix/sysv/linux/aarch64/sysdep.h
        (HAVE_INTERNAL_SEND_SYMBOL): Undefine.
        * sysdeps/unix/sysv/linux/nios2/sysdep.h
        (HAVE_INTERNAL_SEND_SYMBOL): Likewise.
        * sysdeps/unix/sysv/linux/tile/sysdep.h
        (HAVE_INTERNAL_SEND_SYMBOL): Likewise.
        * sysdeps/unix/sysv/linux/alpha/kernel-features.h
        (__ASSUME_RECV_SYSCALL): Define.
        * sysdeps/unix/sysv/linux/arm/kernel-features.h
        (__ASSUME_RECV_SYSCALL): Likewise.
        * sysdeps/unix/sysv/linux/hppa/kernel-features.h
        (__ASSUME_RECV_SYSCALL): Likewise.
        * sysdeps/unix/sysv/linux/ia64/kernel-features.h
        (__ASSUME_RECV_SYSCALL): Likewise.
        * sysdeps/unix/sysv/linux/mips/kernel-features.h
        (__ASSUME_RECV_SYSCALL): Likewise.
        * sysdeps/unix/sysv/linux/i386/kernel-features.h
        (__ASSUME_SENDTO_FOR_SEND_SYSCALL): Remove define.
        * sysdeps/unix/sysv/linux/m68k/kernel-features.h
        (__ASSUME_SENDTO_FOR_SEND_SYSCALL): Likewise.
        * sysdeps/unix/sysv/linux/s390/kernel-features.h
        (__ASSUME_SENDTO_FOR_SEND_SYSCALL): Likewise.
        * sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove send from
        auto-generation list.
        * sysdeps/unix/sysv/linux/arm/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewike.
        * sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/send.c: Simplify includes.
        (__ASSUME_SENDTO_FOR_SEND_SYSCALL): Replace by
        __ASSUME_SENDTO_SYSCALL.
        * sysdeps/unix/sysv/linux/x86_64/send.c: Remove file.
        * sysdeps/unix/sysv/linux/mips/mips64/send.c: Likewise.
        * sysdeps/unix/sysv/linux/generic/send.c: Likewise.

commit 06cf371e978cde2df19efa1474791bd2532f529b
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Mar 6 14:51:51 2017 +0100

    Consolidate Linux sendto implementation
    
    This patch consolidates the sendto Linux syscall implementation on
    sysdeps/unix/sysv/linux/sendto.c.  The changes are:
    
       1. Define __ASSUME_SENDTO_SYSCALL by default.
       2. Undef it for architectures that do not support __NR_sendto.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    aarch64-linux-gnu, arm-linux-gnueabihf, and powerpc64le-linux-gnu.
    
        * sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove sendto from
        auto-generation list.
        * sysdeps/unix/sysv/linux/arm/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/generic/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/kernel-features.h
        (__ASSUME_SENDTO_SYSCALL): Define by default.
        * sysdeps/unix/sysv/linux/i386/kernel-features.h
        (__ASSUME_SENDTO_SYSCALL): Undef it is kernel does not support
        __NR_sendto.
        * sysdeps/unix/sysv/linux/m68k/kernel-features.h
        (__ASSUME_SENDTO_SYSCALL): Likewise.
        * sysdeps/unix/sysv/linux/s390/kernel-features.h
        (__ASSUME_SENDTO_SYSCALL): Likewise.
        * sysdeps/unix/sysv/linux/microblaze/kernel-features.h
        (__ASSUME_SENDTO_SYSCALL): Remove definition.
        * sysdeps/unix/sysv/linux/powerpc/kernel-features.h
        (__ASSUME_SENDTO_SYSCALL): Likewise.
        * sysdeps/unix/sysv/linux/sh/kernel-features.h:
        (__ASSUME_SENDTO_SYSCALL): Likewise.
        * sysdeps/unix/sysv/linux/sendto.c: Simplify includes.

commit df799d9eb335921f53aab8834219ef77fe280bc8
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Nov 17 18:47:00 2016 -0200

    Consolidate Linux recv implementation
    
    This patch consolidates the recv Linux syscall implementation on
    sysdeps/unix/sysv/linux/recv.c.  The changes are:
    
      1. Remove recv from auto-generation syscalls.list on the architecture
         that uses __NR_recv.
      2. Define __NR_recv for architectures that supports it.  It was done
         instead of defining in default kernel-features.h because current Linux
         practice for new ports is to implement only __NR_recvfrom [1] and it 
will
         require adding new kernel-features for ports that do not require it
         (aarch64 for instance).
      3. Remove __ASSUME_RECVFROM_FOR_RECV_SYSCALL and decide to use
         __NR_recvfrom for recv generation based on __ASSUME_RECVFROM_SYSCALL.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    aarch64-linux-gnu, arm-linux-gnueabihf, and powerpc64le-linux-gnu.
    
        * sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove recv from
        auto-generation list.
        * sysdeps/unix/sysv/linux/arm/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/alpha/kernel-features.h
        (__ASSUME_RECV_SYSCALL): New define.
        * sysdeps/unix/sysv/linux/arm/kernel-features.h
        (__ASSUME_RECV_SYSCALL): Likewise.
        * sysdeps/unix/sysv/linux/hppa/kernel-features.h
        (__ASSUME_RECV_SYSCALL): Likewise.
        * sysdeps/unix/sysv/linux/ia64/kernel-features.h
        (__ASSUME_RECV_SYSCALL): Likewise.
        * sysdeps/unix/sysv/linux/mips/kernel-features.h
        (__ASSUME_RECV_SYSCALL): Likewise.
        * sysdeps/unix/sysv/linux/i386/kernel-features.h
        (__ASSUME_RECVFROM_FOR_RECV_SYSCALL): Remove define.
        * sysdeps/unix/sysv/linux/m68k/kernel-features.h
        (__ASSUME_RECVFROM_FOR_RECV_SYSCALL): Remove define.
        * sysdeps/unix/sysv/linux/s390/kernel-features.h
        (__ASSUME_RECVFROM_FOR_RECV_SYSCALL): Remove define.
        * sysdeps/unix/sysv/linux/generic/recv.c: Remove file.
        * sysdeps/unix/sysv/linux/mips/mips64/recv.c: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/recv.c: Likewise.
        * sysdeps/unix/sysv/linux/recv.c: Simplify includes.
        (__libc_recv): Use __ASSUME_RECVFROM_SYSCALL instead of
        __ASSUME_RECVFROM_FOR_RECV_SYSCALL to issue recvfrom syscall.
    
    [1] include/asm-generic/unistd.h (__ARCH_WANT_SYSCALL_DEPRECATED)

commit 1f8161a801b2292a58f3036ea92aa7feeafc10f2
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Mar 6 12:53:14 2017 +0100

    Consolidate Linux recvfrom implementation
    
    This patch consolidates the recvfrom Linux syscall implementation on
    sysdeps/unix/sysv/linux/recvfrom.c.  The changes are:
    
      1. Define __ASSUME_RECVFROM_SYSCALL by default
      2. Undef it for  architectures that do not support __NR_recvfrom.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    aarch64-linux-gnu, arm-linux-gnueabihf, and powerpc64le-linux-gnu.
    
        * sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove recvfrom from
        auto-generation list.
        * sysdeps/unix/sysv/linux/arm/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/generic/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/i386/kernel-features.h
        * sysdeps/unix/sysv/linux/kernel-features.h
        (__ASSUME_RECVFROM_SYSCALL): Define by default.
        (__ASSUME_RECVFROM_SYSCALL): Undef it if kernel does not support
        __NR_recvfrom.
        * sysdeps/unix/sysv/linux/m68k/kernel-features.h
        (__ASSUME_RECVFROM_SYSCALL): Likewise.
        * sysdeps/unix/sysv/linux/s390/kernel-features.h
        (__ASSUME_RECVFROM_SYSCALL): Likewise.
        * sysdeps/unix/sysv/linux/microblaze/kernel-features.h
        (__ASSUME_RECVFROM_SYSCALL): Remove definition.
        * sysdeps/unix/sysv/linux/powerpc/kernel-features.h
        (__ASSUME_RECVFROM_SYSCALL): Likewise.
        * sysdeps/unix/sysv/linux/sh/kernel-features.h
        (__ASSUME_RECVFROM_SYSCALL): Likewise.
        * sysdeps/unix/sysv/linux/sparc/kernel-features.h
        (__ASSUME_RECVFROM_SYSCALL): Likewise.
        * sysdeps/unix/sysv/linux/recvfrom.c: Simplify includes.

commit 3e9ff426cb6fe7e1733d914af3114e04e98dbedd
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Nov 17 18:15:52 2016 -0200

    Consolidate Linux connect implementation
    
    This patch consolidates the connect Linux syscall implementation on
    sysdeps/unix/sysv/linux/accept.c.  The changes are:
    
      1. Remove connect from auto-generation syscalls.list on the architecture
         that uses __NR_connect.
      2. Define __NR_connect as default (__ASSUME_CONNECT_SYSCALL) and undef for
         architectures that do not support it.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    aarch64-linux-gnu, arm-linux-gnueabihf, and powerpc64le-linux-gnu.
    
        * sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove connect from
        auto-generation list.
        * sysdeps/unix/sysv/linux/arm/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/generic/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/connect.c: Simplify include list.
        * sysdeps/unix/sysv/linux/kernel-features.h
        (__ASSUME_CONNECT_SYSCALL): Define.
        * sysdeps/unix/sysv/linux/i386/kernel-features.h
        (__ASSUME_CONNECT_SYSCALL): Undef if kernel does not support it.
        * sysdeps/unix/sysv/linux/m68k/kernel-features.h
        (__ASSUME_CONNECT_SYSCALL): Likewise.
        * sysdeps/unix/sysv/linux/s390/kernel-features.h
        (__ASSUME_CONNECT_SYSCALL): Likewise.
        * sysdeps/unix/sysv/linux/sparc/kernel-features.h
        (__ASSUME_CONNECT_SYSCALL): Likewise.

commit 01061a7cab941c1676cf3bad70c7ccdd953f0463
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Nov 17 18:13:44 2016 -0200

    Consolidate Linux accept implementation
    
    This patch consolidates the accept Linux syscall implementation on
    sysdeps/unix/sysv/linux/accept.c.  The changes are:
    
      1. Remove accept from auto-generation syscalls.list on the architecture
         that uses __NR_accept.
      2. Define __NR_accept as default (__ASSUME_ACCEPT_SYSCALL) and undef for
         architectures that do not support it.
      3. Remove __ASSUME_ACCEPT4_FOR_ACCEPT_SYSCALL and decide to use
         __NR_accept4 for accept generation based on __ASSUME_ACCEPT4_SYSCALL.
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    aarch64-linux-gnu, arm-linux-gnueabihf, and powerpc64le-linux-gnu.
    
        * sysdeps/unix/sysv/linux/accept.c (__libc_accept): Replace
        __ASSUME_ACCEPT4_FOR_ACCEPT_SYSCALL by __ASSUME_ACCEPT4_SYSCALL.
        * sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove accept from
        auto-generation list.
        * sysdeps/unix/sysv/linux/arm/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/generic/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/i386/kernel-features.h
        (__ASSUME_ACCEPT4_FOR_ACCEPT_SYSCALL): Remove define.
        (__ASSUME_ACCEPT_SYSCALL): Undefine.
        * sysdeps/unix/sysv/linux/kernel-features.h
        (__ASSUME_ACCEPT_SYSCALL): New define.
        * sysdeps/unix/sysv/linux/m68k/kernel-features.h
        (__ASSUME_ACCEPT4_FOR_ACCEPT_SYSCALL): Remove define.
        (__ASSUME_ACCEPT_SYSCALL): Define wheter kernel version supports.
        * sysdeps/unix/sysv/linux/microblaze/kernel-features.h
        (__ASSUME_ACCEPT_SYSCALL): Define.
        * sysdeps/unix/sysv/linux/powerpc/kernel-features.h
        (__ASSUME_ACCEPT_SYSCALL): Undefine.
        * sysdeps/unix/sysv/linux/s390/kernel-features.h
        (__ASSUME_ACCEPT4_FOR_ACCEPT_SYSCALL): Remove define.
        (__ASSUME_ACCEPT_SYSCALL): Undefine.
        * sysdeps/unix/sysv/linux/sh/kernel-features.h
        (__ASSUME_ACCEPT_SYSCALL): Undefine.
        * sysdeps/unix/sysv/linux/sparc/kernel-features.h
        (__ASSUME_ACCEPT_SYSCALL): Undefine for 32 bits.

commit 9a56f8718341082d98cee9b245a02c8bf8c074da
Author: Yury Norov <address@hidden>
Date:   Wed Mar 8 11:18:08 2017 -0500

    Test for correct setting of errno.
    
    This patch adds tests for POSIX and Linux specific syscalls
    that implemented with syscall templates machinery. The reason
    of tests is to receive the expected error code and test if
    it's handled properly by glibc.
    
    2017-03-08  Yury Norov <address@hidden>
            Zack Weinberg  <address@hidden>
    
        * posix/test-errno.c: New file.
        * posix/Makefile (tests): Add test-errno.
        * sysdeps/unix/sysv/linux/test-errno.c: New file.
        * sysdeps/unix/sysv/linux/Makefile (tests): Add test-errno.

commit 72280a9e55573c385d37b00244dbc8cf49a2529b
Author: Stefan Liebler <address@hidden>
Date:   Wed Mar 8 08:34:58 2017 +0100

    S390: Regenerate ULPs
    
    Updated ulps file.
    There are still fails for long double catan / catanh
    due to MPC bug.  See post from Joseph Myers:
    https://www.sourceware.org/ml/libc-alpha/2017-03/msg00099.html
    
    ChangeLog:
    
        * sysdeps/s390/fpu/libm-test-ulps: Regenerated.

commit 596d547f50c4307e2cfd87818b8bd7c95c81d61c
Author: Florian Weimer <address@hidden>
Date:   Tue Mar 7 17:47:17 2017 +0100

    Fix auto-merge issue in ChangeLog

commit 6e3b52292a042ede4d053054a895167afd6edcf2
Author: Florian Weimer <address@hidden>
Date:   Tue Mar 7 10:39:00 2017 +0100

    tzset: Clean up preprocessor macros min, max, sign

commit 8492c4dd699e2a65a5a2e8fca3e0e530326c92b9
Author: Florian Weimer <address@hidden>
Date:   Tue Mar 7 09:37:46 2017 +0100

    timezone: Remove TZNAME_MAX limit from sysconf [BZ #15576]
    
    glibc does not impose a limit, and POSIX does not allow a
    sysconf limit which changes during the lifetime of a process.

commit 1c1243b6fc33c029488add276e56570a07803bfd
Author: Siddhesh Poyarekar <address@hidden>
Date:   Tue Mar 7 20:52:04 2017 +0530

    Ignore and remove LD_HWCAP_MASK for AT_SECURE programs (bug #21209)
    
    The LD_HWCAP_MASK environment variable may alter the selection of
    function variants for some architectures.  For AT_SECURE process it
    means that if an outdated routine has a bug that would otherwise not
    affect newer platforms by default, LD_HWCAP_MASK will allow that bug
    to be exploited.
    
    To be on the safe side, ignore and disable LD_HWCAP_MASK for setuid
    binaries.
    
        [BZ #21209]
        * elf/rtld.c (process_envvars): Ignore LD_HWCAP_MASK for
        AT_SECURE processes.
        * sysdeps/generic/unsecvars.h: Add LD_HWCAP_MASK.
        * elf/tst-env-setuid.c (test_parent): Test LD_HWCAP_MASK.
        (test_child): Likewise.
        * elf/Makefile (tst-env-setuid-ENV): Add LD_HWCAP_MASK.

commit a7055e5935f7ee63d622c66a7dde16ba0de674e0
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Mar 7 09:12:48 2017 +0100

    hppa: set __IPC_64 as zero for SysV IPC calls
    
    In 1e5834c38a22 ("Refactor Linux ipc_priv header") a different
    approach to passing __IPC_64 as zero was created.  Hppa kernel ABI
    requires to oass __IPC_64 as zero since it does not set
    CONFIG_ARCH_WANT_IPC_PARSE_VERSION in the kernel.
    
    Checked on hppa-linux-gnu with some adjustments to avoid BZ#21016
    (basically by removing hppa compat implementations and adjusting
    required headers).
    
        * sysdeps/unix/sysv/linux/hppa/ipc_priv.h: New file.

commit 022c9fec9b9de101788244a58f2dcdfb3583b8e3
Author: Stefan Liebler <address@hidden>
Date:   Mon Mar 6 15:28:25 2017 +0100

    S390: Optimize atomic macros.
    
    This patch activates C11 atomic builtins by defining
    USE_ATOMIC_COMPILER_BUILTINS to 1.
    Note:
    E.g. in nptl/pthread_key_delete.c if compiled with GCCs 6 and before,
    an extra stack-frame is generated and the old value is stored on stack
    before cs instruction but it never loads this value from stack.
    An unreleased GCC 7 omit those stack operations.
    
    E.g. in nptl/pthread_once.c the condition code of cs instruction is
    evaluated by a sequence of ipm, sra, compare and jump instructions instead
    of one conditional jump instruction.  This also occurs with an unreleased
    GCC 7.
    
    These shortcomings does not really hurt.  Nevertheless, the gcc guys are
    investigating those ones and plan to fix them before GCC 7 release.
    
    The atomic_fetch_abc_def C11 builtins are now using load-and-abc 
instructions
    on z196 zarch and higher cpus instead of a loop with compare-and-swap
    instruction.
    
    Some of the non-C11 atomic macros from include/atomic.h are now implemented
    with help of the C11 atomic builtins.  The other non-C11 atomic macros
    are using the macros defined here.
    
    ChangeLog:
    
        * sysdeps/s390/atomic-machine.h
        (USE_ATOMIC_COMPILER_BUILTINS): Define to 1.
        (__arch_compare_and_exchange_val_8_acq,
        __arch_compare_and_exchange_val_16_acq,
        __arch_compare_and_exchange_val_32_acq,
        __arch_compare_and_exchange_val_64_acq):
        Delete macro.
        (atomic_compare_and_exchange_val_acq,
        atomic_compare_and_exchange_val_rel,
        atomic_compare_and_exchange_bool_acq,
        catomic_compare_and_exchange_bool_acq,
        atomic_exchange_acq, atomic_exchange_rel,
        atomic_exchange_and_add_acq,
        atomic_exchange_and_add_rel,
        catomic_exchange_and_add, atomic_or_val,
        atomic_or, catomic_or, atomic_bit_test_set,
        atomic_and_val, atomic_and, catomic_and):
        Define macros with help of C11 atomic builtins.

commit 21d58b2a43cab26838ba57bcea52d5cef132f925
Author: Justus Winter <address@hidden>
Date:   Fri Mar 3 21:27:27 2017 +0100

    hurd: Provide truncate64 and ftruncate64.
    
        * sysdeps/mach/hurd/ftruncate64.c: New file.
        * sysdeps/mach/hurd/truncate64.c: Likewise.

commit 7eb5c06c3501a5f1d60e92780b3a2c67eeed4afe
Author: Florian Weimer <address@hidden>
Date:   Fri Mar 3 11:25:44 2017 +0100

    tzset: Remove unused NOID macro

commit b2f3c0c208f73cf5c433ebb85aacf3284d9e47e6
Author: Florian Weimer <address@hidden>
Date:   Fri Mar 3 09:06:54 2017 +0100

    tzset: Remove __attribute_noinline__ from compute_offset
    
    After commit 42261ad731991df345880b0b509d83b0b9a9b9d8,
    compute_offset is only called once, so not inlining it
    increases executable size.

commit a10e9c4e53fc652b79abf838f7f837589d2c84db
Author: Florian Weimer <address@hidden>
Date:   Thu Mar 2 17:28:41 2017 +0100

    Remove header file inclusion guard from elf/get-dynamic-info.h
    
    This file is included multiple times, so the guard is harmful.
    Fixes commit 9090848d0607e93fb08a1d68d9f263846ee33f02.

commit 2d6ab5df3b675e96ee587ae6a8c2ce004c6b1ba9
Author: Florian Weimer <address@hidden>
Date:   Thu Mar 2 14:44:28 2017 +0100

    Document and fix --enable-bind-now [BZ #21015]

commit 9090848d0607e93fb08a1d68d9f263846ee33f02
Author: Zack Weinberg <address@hidden>
Date:   Sun Feb 26 20:17:52 2017 -0500

    Narrowing the visibility of libc-internal.h even further.
    
    posix/wordexp-test.c used libc-internal.h for PTR_ALIGN_DOWN; similar
    to what was done with libc-diag.h, I have split the definitions of
    cast_to_integer, ALIGN_UP, ALIGN_DOWN, PTR_ALIGN_UP, and PTR_ALIGN_DOWN
    to a new header, libc-pointer-arith.h.
    
    It then occurred to me that the remaining declarations in libc-internal.h
    are mostly to do with early initialization, and probably most of the
    files including it, even in the core code, don't need it anymore.  Indeed,
    only 19 files actually need what remains of libc-internal.h.  23 others
    need libc-diag.h instead, and 12 need libc-pointer-arith.h instead.
    No file needs more than one of them, and 16 don't need any of them!
    
    So, with this patch, libc-internal.h stops including libc-diag.h as
    well as losing the pointer arithmetic macros, and all including files
    are adjusted.
    
            * include/libc-pointer-arith.h: New file.  Define
        cast_to_integer, ALIGN_UP, ALIGN_DOWN, PTR_ALIGN_UP, and
            PTR_ALIGN_DOWN here.
            * include/libc-internal.h: Definitions of above macros
        moved from here.  Don't include libc-diag.h anymore either.
        * posix/wordexp-test.c: Include stdint.h and libc-pointer-arith.h.
            Don't include libc-internal.h.
    
        * debug/pcprofile.c, elf/dl-tunables.c, elf/soinit.c, io/openat.c
        * io/openat64.c, misc/ptrace.c, nptl/pthread_clock_gettime.c
        * nptl/pthread_clock_settime.c, nptl/pthread_cond_common.c
        * string/strcoll_l.c, sysdeps/nacl/brk.c
        * sysdeps/unix/clock_settime.c
        * sysdeps/unix/sysv/linux/i386/get_clockfreq.c
        * sysdeps/unix/sysv/linux/ia64/get_clockfreq.c
        * sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c
        * sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c:
        Don't include libc-internal.h.
    
        * elf/get-dynamic-info.h, iconv/loop.c
        * iconvdata/iso-2022-cn-ext.c, locale/weight.h, locale/weightwc.h
        * misc/reboot.c, nis/nis_table.c, nptl_db/thread_dbP.h
        * nscd/connections.c, resolv/res_send.c, soft-fp/fmadf4.c
        * soft-fp/fmasf4.c, soft-fp/fmatf4.c, stdio-common/vfscanf.c
        * sysdeps/ieee754/dbl-64/e_lgamma_r.c
        * sysdeps/ieee754/dbl-64/k_rem_pio2.c
        * sysdeps/ieee754/flt-32/e_lgammaf_r.c
        * sysdeps/ieee754/flt-32/k_rem_pio2f.c
        * sysdeps/ieee754/ldbl-128/k_tanl.c
        * sysdeps/ieee754/ldbl-128ibm/k_tanl.c
        * sysdeps/ieee754/ldbl-96/e_lgammal_r.c
        * sysdeps/ieee754/ldbl-96/k_tanl.c, sysdeps/nptl/futex-internal.h:
        Include libc-diag.h instead of libc-internal.h.
    
            * elf/dl-load.c, elf/dl-reloc.c, locale/programs/locarchive.c
            * nptl/nptl-init.c, string/strcspn.c, string/strspn.c
        * malloc/malloc.c, sysdeps/i386/nptl/tls.h
        * sysdeps/nacl/dl-map-segments.h, sysdeps/x86_64/atomic-machine.h
        * sysdeps/unix/sysv/linux/spawni.c
            * sysdeps/x86_64/nptl/tls.h:
            Include libc-pointer-arith.h instead of libc-internal.h.
    
        * elf/get-dynamic-info.h, sysdeps/nacl/dl-map-segments.h
        * sysdeps/x86_64/atomic-machine.h:
            Add multiple include guard.

commit 5e4e10636cf999c251b623c3be143a22156721d6
Author: Zack Weinberg <address@hidden>
Date:   Sun Nov 20 20:46:30 2016 -0500

    Miscellaneous low-risk changes preparing for _ISOMAC testsuite.
    
    These are a grab bag of changes where the testsuite was using internal
    symbols of some variety, but this was straightforward to fix, and the
    fixed code should work with or without the change to compile the
    testsuite under _ISOMAC.
    
    Four of these are just more #include adjustments, but I want to highlight
    sysdeps/powerpc/fpu/tst-setcontext-fpscr.c, which appears to have been
    written before the advent of sys/auxv.h.  I think a big chunk of this file
    could be replaced by a simple call to getauxval, but I'll let someone who
    actually has a powerpc machine to test on do that.
    
    dlfcn/tst-dladdr.c was including ldsodefs.h just so it could use
    DL_LOOKUP_ADDRESS to print an additional diagnostic; as requested by Carlos,
    I have removed this.
    
    math/test-misc.c was using #ifndef NO_LONG_DOUBLE, which is an internal
    configuration macro, to decide whether to do certain tests involving
    'long double'.  I changed the test to #if LDBL_MANT_DIG > DBL_MANT_DIG
    instead, which uses only public float.h macros and is equivalent on
    all supported platforms.  (Note that NO_LONG_DOUBLE doesn't mean 'the
    compiler doesn't support long double', it means 'long double is the
    same as double'.)
    
    tst-writev.c has a configuration macro 'ARTIFICIAL_LIMIT' that the
    Makefiles are expected to define, and sysdeps/unix/sysv/linux/Makefile
    was using the internal __getpagesize in the definition; changed to
    sysconf(_SC_PAGESIZE) which is the POSIX equivalent.
    
    ia64-linux doesn't supply 'clone', only '__clone2', which is not
    defined in the public headers(!)  All the other clone tests have local
    extern declarations of __clone2, but tst-clone.c doesn't; it was
    getting away with this because include/sched.h does declare __clone2.
    
        * nss/tst-cancel-getpwuid_r.c: Include nss.h.
        * string/strcasestr.c: No need to include config.h.
        * sysdeps/powerpc/fpu/tst-setcontext-fpscr.c: Include
        sys/auxv.h. Don't include sysdep.h.
        * sysdeps/powerpc/tst-set_ppr.c: Don't include dl-procinfo.h.
    
        * dlfcn/tst-dladdr.c: Don't include ldsodefs.h.  Don't use
        DL_LOOKUP_ADDRESS.
        * math/test-misc.c: Instead of testing NO_LONG_DOUBLE, test whether
        LDBL_MANT_DIG is greater than DBL_MANT_DIG.
        * sysdeps/unix/sysv/linux/Makefile (CFLAGS-tst-writev.c): Use
        sysconf (_SC_PAGESIZE) instead of __getpagesize in definition
        of ARTIFICIAL_LIMIT.
        * sysdeps/unix/sysv/linux/tst-clone.c [__ia64__]: Add extern
        declaration of __clone2.

commit d2583c0b7754e37c6224edcbab4a58cd759beed9
Author: Florian Weimer <address@hidden>
Date:   Tue Feb 28 16:36:26 2017 +0100

    Add scripts/backport-support.sh
    
    This script is intended for maintaining the stable branches and
    distribution backports.

commit cf0bd2f73bd65beab613865bba567d7787836888
Author: Florian Weimer <address@hidden>
Date:   Tue Feb 28 15:28:45 2017 +0100

    sunrpc: Improvements for UDP client timeout handling [BZ #20257]
    
    This commit fixes various aspects in the UDP client timeout handling.
    Timeouts are now applied in a more consistent fashion.  Discarded UDP
    packets no longer prevent the timeout from happening at all.

commit 37fb019cb02656d0ce0b8d40d56fe8c42f0d1658
Author: Florian Weimer <address@hidden>
Date:   Tue Feb 28 15:22:13 2017 +0100

    sunrpc: Do not unregister services if not registered [BZ #5010]
    
    The change in commit 718946816cf60374f9d8f674d3ed649fdb33205a
    has no effect because of two bugs which cancel each other out:
    The svc_is_mapped condition is inverted, and svc_is_mapped
    always returns false because the check is performed after
    the service has already been unregistered.  As a result,
    pmap_unset is called unconditionally, as before.

commit b31737bdf94a1d9eb4108d10c4d38241b6fe788b
Author: Andreas Schwab <address@hidden>
Date:   Mon Feb 27 22:55:00 2017 +0100

    Refer to <signal.h> instead of <pthread.h> in <bits/sigthread.h>
    
    The <bits/sigthread.h> header is included by <signal.h>, not <pthread.h>.

commit d42eed4a044e5e10dfb885cf9891c2518a72a491
Author: Florian Weimer <address@hidden>
Date:   Mon Feb 27 19:05:13 2017 +0100

    sunrpc: Avoid use-after-free read access in clntudp_call [BZ #21115]
    
    After commit bc779a1a5b3035133024b21e2f339fe4219fb11c
    (CVE-2016-4429: sunrpc: Do not use alloca in clntudp_call
    [BZ #20112]), ancillary data is stored on the heap,
    but it is accessed after it has been freed.
    
    The test case must be run under a heap debugger such as valgrind
    to observe the invalid access.  A malloc implementation which
    immediately calls munmap on free would catch this bug as well.

commit 963394a22b38c4ec92b6875a6c06d3b15d5c0d21
Author: Zack Weinberg <address@hidden>
Date:   Sun Nov 20 20:46:30 2016 -0500

    Allow direct use of math_ldbl.h in testsuite.
    
    A few 'long double'-related tests include math_private.h just for
    their variety of math_ldbl.h, which contains macros for assembling and
    disassembling the binary representation of 'long double'.  math_ldbl.h
    insists on being included from math_private.h, but if we relax this
    restriction (and fix some portability sloppiness) we can use it
    directly and not have to expose all of math_private.h to the testsuite.
    
        * sysdeps/generic/math_private.h: Use __BIG_ENDIAN and
        __LITTLE_ENDIAN, not BIG_ENDIAN and LITTLE_ENDIAN.
    
        * sysdeps/generic/math_ldbl.h
        * sysdeps/ia64/fpu/math_ldbl.h
        * sysdeps/ieee754/ldbl-128/math_ldbl.h
        * sysdeps/ieee754/ldbl-128ibm/math_ldbl.h
        * sysdeps/ieee754/ldbl-96/math_ldbl.h
        * sysdeps/powerpc/fpu/math_ldbl.h
        * sysdeps/x86_64/fpu/math_ldbl.h:
        Allow direct inclusion.  Use uintNN_t instead of u_intNN_t.
        Use __BIG_ENDIAN and __LITTLE_ENDIAN, not BIG_ENDIAN and
        LITTLE_ENDIAN.  Include endian.h and/or stdint.h if necessary.
        Add copyright notices.
    
        * sysdeps/ieee754/ldbl-128ibm/math_ldbl.h (ldbl_canonicalize_int):
        Don't use EXTRACT_WORDS64.
    
        * sysdeps/ieee754/ldbl-96/test-canonical-ldbl-96.c
        * sysdeps/ieee754/ldbl-96/test-totalorderl-ldbl-96.c
        * sysdeps/ieee754/ldbl-128ibm/test-canonical-ldbl-128ibm.c
        * sysdeps/ieee754/ldbl-128ibm/test-totalorderl-ldbl-128ibm.c:
        Include math_ldbl.h, not math_private.h.

commit e15f7de60c26bb75fe1923b17c5f0461164d1a41
Author: Zack Weinberg <address@hidden>
Date:   Sun Nov 20 20:46:30 2016 -0500

    Split DIAG_* macros to new header libc-diag.h.
    
    Quite a few tests include libc-internal.h just for the DIAG_* macros.
    Split those macros to their own file, which can be included safely in
    _ISOMAC mode.  I also moved ignore_value, since it seems logically
    related, even though I didn't notice any tests needing it.
    
    Also add -Wnonnull suppressions to two tests that _should_ have them,
    but the error is masked when compiling against internal headers.
    
        * include/libc-diag.h: New file.  Define ignore_value,
        DIAG_PUSH_NEEDS_COMMENT, DIAG_POP_NEEDS_COMMENT,
        DIAG_IGNORE_NEEDS_COMMENT, and DIAG_IGNORE_Os_NEEDS_COMMENT here.
    
        * include/libc-internal.h: Definitions of above macros moved from
        here.  Include libc-diag.h.  Add copyright notice.
    
        * malloc/tst-malloc.c, malloc/tst-memcheck.c, malloc/tst-realloc.c
        * misc/tst-error1.c, posix/tst-dir.c, stdio-common/bug21.c
        * stdio-common/scanf14.c, stdio-common/scanf4.c, stdio-common/scanf7.c
        * stdio-common/test-vfprintf.c, stdio-common/tst-printf.c
        * stdio-common/tst-printfsz.c, stdio-common/tst-sprintf.c
        * stdio-common/tst-unlockedio.c, stdio-common/tstdiomisc.c
        * stdlib/bug-getcontext.c, string/tester.c, string/tst-endian.c
        * time/tst-strptime2.c, wcsmbs/tst-wcstof.c:
        Include libc-diag.h instead of libc-internal.h.
    
        * stdlib/tst-environ.c: Include libc-diag.h.  Suppress -Wnonnull for
        call to unsetenv (NULL).
        * nptl/tst-mutex1.c: Include libc-diag.h.  Suppress -Wnonnull for
        call to pthread_mutexattr_destroy (NULL).

commit 7caa5054afc1754a871333b1539e08a4af79444e
Author: Zack Weinberg <address@hidden>
Date:   Mon Nov 21 08:16:27 2016 -0500

    Clean up conditionals for declaration of gets.
    
    gets has the dubious honor of being the only C89 library feature that
    has been completely removed from the current C and C++ standards.
    glibc follows suit by not declaring it in _GNU_SOURCE mode either,
    but it remains present in older compatibility modes.  Internally,
    two test cases need to see stdio.h make the declaration, but all our
    internal code is of course compiled under _GNU_SOURCE.  This is currently
    kludged by duplicating the gets declaration, fortify wrapper and all,
    in include/stdio.h.  Also, the conditional in the public headers for
    deciding when to declare gets is complicated and repeated in two places.
    
    This patch adds a new macro to features.h that encapsulates the
    complicated rule for when to declare gets.  stdio.h and bits/stdio2.h
    then simply test __GLIBC_USE (DEPRECATED_GETS), and instead of having
    a duplicate gets declaration in include/stdio.h, debug/tst-chk1.c and
    stdio-common/tst-gets.c can force gets to be declared.
    
            * include/features.h (__GLIBC_USE_DEPRECATED_GETS): New macro.
            * libio/stdio.h, libio/bits/stdio2.h: Condition gets on
            __GLIBC_USE (DEPRECATED_GETS).  Update comments to indicate
            gets was removed from C++ in C++14.
            * include/stdio.h: Remove redundant declaration of gets.
            * debug/tst-chk1.c, stdio-common/tst-gets.c: Force gets to
            be declared, since we are testing it.
            * stdio-common/Makefile (tst-gets.c): Compile with
            -Wno-deprecated-declarations.
        * debug/Makefile (tst-chk1.c, tst-chk2.c, tst-chk3.c, tst-chk4.cc)
        (tst-chk5.cc, tst-chk6.cc, tst-lfschk1.c, tst-lfschk2.c)
        (tst-lfschk3.c, tst-lfschk4.cc, tst-lfschk5.cc, tst-lfschk6.cc):
        Compile with -Wno-deprecated-declarations.

commit 4f5a9afffb7f1fdb330b0f8dcca196a439ac07a8
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Fri Feb 24 21:14:09 2017 -0300

    Use independent type literals in libm-test-support.c
    
        * math/libm-test-support.c (check_ulp): Use LIT() around literal
        numbers.

commit d4f94368a96541db2b38b6535402a941f5aff975
Author: Stefan Liebler <address@hidden>
Date:   Fri Feb 24 13:30:13 2017 +0100

    Get rid of duplicate const declaration specifier warning in 
tst-resolv-qtypes.c.
    
    Compiling resolv/tst-resolv-qtypes.c with GCC 7 results in:
    tst-resolv-qtypes.c:53:14: error: duplicate ‘const’ declaration 
specifier [-Werror=duplicate-decl-specifier]
     static const const char *domain = "www.example.com";
    
    This patch removes the duplicate const and makes domain a const pointer
    to const char literal.
    
    ChangeLog:
    
        * resolv/tst-resolv-qtypes.c (domain):
        Change type to const pointer to const char.

commit 92061bb033f093cca76e31745cac14c43a1fb29b
Author: Joseph Myers <address@hidden>
Date:   Fri Feb 24 00:51:45 2017 +0000

    Run libm tests separately for each function.
    
    At present, libm tests for each function get built into a single
    executable (for each floating point type, for each of normal / inline
    / finite-math-only functions, plus vector variants) and run together,
    resulting in a single PASS or FAIL (for each of those nine variants
    plus vector variants).  Building this executable involves reading
    over 50 MB of libm-test-*.c sources.
    
    This patch arranges for tests of each function to be run separately
    from the makefiles instead.  There are 121 functions being tested for
    each (type, variant pair) (actually 126, but run as 121 from the
    Makefile because each of the pairs (exp10, pow10), (isfinite, finite),
    (lgamma, gamma), (remainder, drem), (scalbn, ldexp), shares a table of
    test results and so is run together), so 1089 separate tests run from
    the Makefile, plus 48 vector tests on x86_64 (six functions for eight
    vector variants).  Each test only involves a libm-test-<func>.c file
    of no more than about 4 MB, rather than all such files taking about 50
    MB.  With tests run separately, test summaries will indicate which
    functions actually have problems (of course, those problems may just
    be out-of-date libm-test-ulps files if the file hasn't been updated
    for the architecture in question recently).
    
    All the .c files for the 1089+48 tests are generated automatically
    from the Makefiles.  Various checked-in boilerplate .c files are
    removed as no longer needed.  CFLAGS definitions for the different
    kinds of tests are generated using makefile iterators to apply
    target-specific variable settings.  libm-have-vector-test.h is no
    longer needed; the list of functions to test for each vector type is
    now in the sysdeps Makefile.
    
    This should reduce the amount of boilerplate needed for float128
    testing support; test-float128.h will still be needed, but not various
    .c files or Makefile CFLAGS definitions.  The logic for creating
    dependencies on libm-test-support-*.o files should also render
    <https://sourceware.org/ml/libc-alpha/2017-02/msg00279.html>
    unnecessary.
    
    Tested for x86_64 and x86.
    
        * math/Makefile (libm-tests-generated): Remove variable.
        (libm-tests-base-normal): New variable.
        (libm-tests-base-finite): Likewise.
        (libm-tests-base-inline): Likewise.
        (libm-tests-base): Likewise.
        (libm-tests-normal): Likewise.
        (libm-tests-finite): Likewise.
        (libm-tests-inline): Likewise.
        (libm-tests-vector): Likewise.
        (libm-tests): Define in terms of these new variables.
        (libm-tests-for-type): New variable.
        (libm-tests.o): Move definition.
        (tests): Move addition of $(libm-tests).
        (generated): Update for new and removed libm test files.
        ($(objpfx)libm-test.c): Remove target.
        ($(objpfx)libm-have-vector-test.h): Likewise.
        (CFLAGS-test-double-vlen2.c): Remove variable.
        (CFLAGS-test-double-vlen4.c): Likewise.
        (CFLAGS-test-double-vlen8.c): Likewise.
        (CFLAGS-test-float-vlen4.c): Likewise.
        (CFLAGS-test-float-vlen8.c): Likewise.
        (CFLAGS-test-float-vlen16.c): Likewise.
        (CFLAGS-test-float.c): Likewise.
        (CFLAGS-test-float-finite.c): Likewise.
        (CFLAGS-libm-test-support-float.c): Likewise.
        (CFLAGS-test-double.c): Likewise.
        (CFLAGS-test-double-finite.c): Likewise.
        (CFLAGS-libm-test-support-double.c): Likewise.
        (CFLAGS-test-ldouble.c): Likewise.
        (CFLAGS-test-ldouble-finite.c): Likewise.
        (CFLAGS-libm-test-support-ldouble.c): Likewise.
        (libm-test-inline-cflags): New variable.
        (CFLAGS-test-ifloat.c): Remove variable.
        (CFLAGS-test-idouble.c): Likewise.
        (CFLAGS-test-ildouble.c): Likewise.
        ($(addprefix $(objpfx), $(libm-tests.o))): Move target and update
        dependencies.
        ($(foreach t,$(libm-tests-normal),$(objpfx)$(t).c)): New rule.
        ($(foreach t,$(libm-tests-finite),$(objpfx)$(t).c)): Likewise.
        ($(foreach t,$(libm-tests-inline),$(objpfx)$(t).c)): Likewise.
        ($(foreach t,$(libm-tests-vector),$(objpfx)$(t).c)): Likewise.
        ($(foreach t,$(types),$(objpfx)libm-test-support-$(t).c)):
        Likewise.
        (dependencies on libm-test-support-*.o): Remove.
        ($(foreach f,$(libm-test-funcs-all),$(objpfx)$(o)-$(f).o)): New
        rules using iterators.
        ($(addprefix $(objpfx),$(call libm-tests-for-type,$(o)))):
        Likewise.
        ($(objpfx)libm-test-support-$(o).o): Likewise.
        ($(addprefix $(objpfx),$(filter-out $(tests-static)
        $(libm-vec-tests),$(tests)))): Filter out $(libm-tests-vector)
        instead.
        ($(addprefix $(objpfx), $(libm-vec-tests))): Use iterator to
        define rule instead.
        * math/README.libm-test: Update.
        * math/libm-test-acos.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-acosh.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-asin.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-asinh.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-atan.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-atan2.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-atanh.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-cabs.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-cacos.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-cacosh.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-canonicalize.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-carg.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-casin.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-casinh.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-catan.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-catanh.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-cbrt.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-ccos.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-ccosh.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-ceil.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-cexp.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-cimag.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-clog.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-clog10.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-conj.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-copysign.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-cos.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-cosh.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-cpow.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-cproj.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-creal.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-csin.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-csinh.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-csqrt.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-ctan.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-ctanh.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-erf.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-erfc.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-exp.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-exp10.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-exp2.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-expm1.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-fabs.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-fdim.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-floor.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-fma.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-fmax.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-fmaxmag.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-fmin.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-fminmag.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-fmod.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-fpclassify.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-frexp.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-fromfp.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-fromfpx.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-getpayload.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-hypot.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-ilogb.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-iscanonical.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-iseqsig.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-isfinite.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-isgreater.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-isgreaterequal.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-isinf.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-isless.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-islessequal.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-islessgreater.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-isnan.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-isnormal.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-issignaling.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-issubnormal.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-isunordered.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-iszero.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-j0.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-j1.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-jn.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-lgamma.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-llogb.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-llrint.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-llround.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-log.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-log10.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-log1p.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-log2.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-logb.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-lrint.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-lround.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-modf.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-nearbyint.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-nextafter.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-nextdown.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-nexttoward.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-nextup.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-pow.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-remainder.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-remquo.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-rint.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-round.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-roundeven.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-scalb.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-scalbln.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-scalbn.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-setpayload.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-setpayloadsig.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-signbit.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-significand.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-sin.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-sincos.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-sinh.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-sqrt.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-tan.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-tanh.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-tgamma.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-totalorder.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-totalordermag.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-trunc.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-ufromfp.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-ufromfpx.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-y0.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-y1.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-yn.inc: Include libm-test-driver.c.
        (do_test): New function.
        * math/libm-test-driver.c: Do not include libm-have-vector-test.h.
        (HAVE_VECTOR): Remove macro.
        (START): Do not call HAVE_VECTOR.
        * math/test-double-vlen2.h (FUNC_TEST): Remove macro.
        * math/test-double-vlen4.h (FUNC_TEST): Remove macro.
        * math/test-double-vlen8.h (FUNC_TEST): Remove macro.
        * math/test-float-vlen16.h (FUNC_TEST): Remove macro.
        * math/test-float-vlen4.h (FUNC_TEST): Remove macro.
        * math/test-float-vlen8.h (FUNC_TEST): Remove macro.
        * math/test-math-vector.h (FUNC_TEST): New macro.
        (WRAPPER_DECL): Rename to WRAPPER_DECL_f.
        * sysdeps/x86_64/fpu/Makefile (double-vlen2-funcs): New variable.
        (double-vlen4-funcs): Likewise.
        (double-vlen4-avx2-funcs): Likewise.
        (double-vlen8-funcs): Likewise.
        (float-vlen4-funcs): Likewise.
        (float-vlen8-funcs): Likewise.
        (float-vlen8-avx2-funcs): Likewise.
        (float-vlen16-funcs): Likewise.
        (CFLAGS-test-double-vlen4-avx2.c): Remove variable.
        (CFLAGS-test-float-vlen8-avx2.c): Likewise.
        * sysdeps/x86_64/fpu/test-double-vlen4.h (TEST_VECTOR_cos): Remove
        macro.
        (TEST_VECTOR_sin): Likewise.
        (TEST_VECTOR_sincos): Likewise.
        (TEST_VECTOR_log): Likewise.
        (TEST_VECTOR_exp): Likewise.
        (TEST_VECTOR_pow): Likewise.
        * sysdeps/x86_64/fpu/test-double-vlen8.h (TEST_VECTOR_cos):
        Likewise.
        (TEST_VECTOR_sin): Likewise.
        (TEST_VECTOR_sincos): Likewise.
        (TEST_VECTOR_log): Likewise.
        (TEST_VECTOR_exp): Likewise.
        (TEST_VECTOR_pow): Likewise.
        * sysdeps/x86_64/fpu/test-float-vlen16.h (TEST_VECTOR_cosf):
        Likewise.
        (TEST_VECTOR_sinf): Likewise.
        (TEST_VECTOR_sincosf): Likewise.
        (TEST_VECTOR_logf): Likewise.
        (TEST_VECTOR_expf): Likewise.
        (TEST_VECTOR_powf): Likewise.
        * sysdeps/x86_64/fpu/test-float-vlen8.h (TEST_VECTOR_cosf):
        Likewise.
        (TEST_VECTOR_sinf): Likewise.
        (TEST_VECTOR_sincosf): Likewise.
        (TEST_VECTOR_logf): Likewise.
        (TEST_VECTOR_expf): Likewise.
        (TEST_VECTOR_powf): Likewise.
        * math/gen-libm-have-vector-test.sh: Remove file.
        * math/libm-test.inc: Likewise.
        * math/libm-test-support-double.c: Likewise.
        * math/libm-test-support-float.c: Likewise.
        * math/libm-test-support-ldouble.c: Likewise.
        * math/test-double-finite.c: Likewise.: Likewise.
        * math/test-double.c: Likewise.
        * math/test-float-finite.c: Likewise.
        * math/test-float.c: Likewise.
        * math/test-idouble.c: Likewise.
        * math/test-ifloat.c: Likewise.
        * math/test-ildouble.c: Likewise.
        * math/test-ldouble-finite.c: Likewise.
        * math/test-ldouble.c: Likewise.
        * sysdeps/x86_64/fpu/test-double-vlen2.c: Likewise.
        * sysdeps/x86_64/fpu/test-double-vlen2.h: Likewise.
        * sysdeps/x86_64/fpu/test-double-vlen4-avx2.c: Likewise.
        * sysdeps/x86_64/fpu/test-double-vlen4.c: Likewise.
        * sysdeps/x86_64/fpu/test-double-vlen8.c: Likewise.
        * sysdeps/x86_64/fpu/test-float-vlen16.c: Likewise.
        * sysdeps/x86_64/fpu/test-float-vlen4.c: Likewise.
        * sysdeps/x86_64/fpu/test-float-vlen4.h: Likewise.
        * sysdeps/x86_64/fpu/test-float-vlen8-avx2.c: Likewise.
        * sysdeps/x86_64/fpu/test-float-vlen8.c: Likewise.

commit aec0821ce78e5f006ed45c063b4a129292bb739a
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Thu Dec 15 16:41:58 2016 -0200

    Add new templates for IEEE wrappers
    
    Several wrappers for IEEE functions use _LIB_VERSION / matherr /
    __kernel_standard functionality, which we want to obsolete.  New
    wrappers, such as for float128, must not use this functionality.
    
    This patch adds new wrappers that only __set_errno and can be used by
    the new float128 wrappers.
    
    Tested for powerpc64le.
    
        * math/Makefile: Add wrappers to gen-libm-calls.
        * math/w_acos_template.c: New file.
        * math/w_acosh_template.c: Likewise.
        * math/w_asin_template.c: Likewise.
        * math/w_atan2_template.c: Likewise.
        * math/w_atanh_template.c: Likewise.
        * math/w_cosh_template.c: Likewise.
        * math/w_exp10_template.c: Likewise.
        * math/w_exp2_template.c: Likewise.
        * math/w_exp_template.c: Likewise.
        * math/w_fmod_template.c: Likewise.
        * math/w_hypot_template.c: Likewise.
        * math/w_j0_template.c: Likewise.
        * math/w_j1_template.c: Likewise.
        * math/w_jn_template.c: Likewise.
        * math/w_lgamma_r_template.c: Likewise.
        * math/w_lgamma_template.c: Likewise.
        * math/w_log10_template.c: Likewise.
        * math/w_log2_template.c: Likewise.
        * math/w_log_template.c: Likewise.
        * math/w_pow_template.c: Likewise.
        * math/w_remainder_template.c: Likewise.
        * math/w_sinh_template.c: Likewise.
        * math/w_sqrt_template.c: Likewise.
        * math/w_tgamma_template.c: Likewise.: Likewise.
        * sysdeps/generic/math-type-macros-double.h
        (__USE_WRAPPER_TEMPLATE): New macro to control inclusion of
        the new wrappers.
        * sysdeps/generic/math-type-macros-float.h: Likewise.
        * sysdeps/generic/math-type-macros-ldouble.h: Likewise.

commit 63e1c3768dad1b6e1ea6b46108da236792228fe4
Author: Joseph Myers <address@hidden>
Date:   Wed Feb 22 20:50:38 2017 +0000

    Add TFD_TIMER_CANCEL_ON_SET to sys/timerfd.h.
    
    In Linux 4.10, timerfd constants moved to a new uapi header, which
    showed up that glibc's sys/timerfd.h is missing the old flag
    TFD_TIMER_CANCEL_ON_SET.  This patch adds that flag to glibc's header.
    
    Tested for x86_64.
    
        * sysdeps/unix/sysv/linux/sys/timerfd.h (TFD_TIMER_CANCEL_ON_SET):
        New enum constant and macro.

commit bf0b5360da68421a03f52e2178240728c402a719
Author: Joseph Myers <address@hidden>
Date:   Wed Feb 22 17:10:09 2017 +0000

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

commit 72aaa20bbc3eefd9cb0ea7354761e08fa8516ba3
Author: Joseph Myers <address@hidden>
Date:   Tue Feb 21 18:18:24 2017 +0000

    Add IP_RECVFRAGSIZE from Linux 4.10.
    
    Linux 4.10 adds a new IP_RECVFRAGSIZE macro to
    include/uapi/linux/in.h.  This patch adds it to glibc's
    sysdeps/unix/sysv/linux/bits/in.h.
    
    Tested for x86_64.
    
        * sysdeps/unix/sysv/linux/bits/in.h (IP_RECVFRAGSIZE): New macro.

commit 2f78098e39e37699ca58699ec43850b8707cb6c3
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Tue Feb 21 10:18:18 2017 -0300

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

commit 6ec414025531537bf1bb5d1d9ef9c8dcf43b5789
Author: Wainer dos Santos Moschetta <address@hidden>
Date:   Tue Feb 21 10:17:32 2017 -0300

    powerpc: Add tests for __ppc_set_ppr_* functions.
    
    The sys/platform/ppc.h header defines a class of __ppc_set_ppr functions
    used to set the Program Priority Register (PPR) in PowerPC.
    This patch implements test cases for these functions.
    
    Tested on ppc64le, ppc64, and ppc.
    
        * sysdeps/powerpc/tst-set_ppr.c: New file.
        Implement test cases for __ppc_set_ppr_* functions.
        * sysdeps/powerpc/Makefile ($(subdir),misc): Add tst-set_ppr
        in the list of tests.

commit ee6df1e6ab5bf46ff0f71596e8ac46fcb2b790ef
Author: Wainer dos Santos Moschetta <address@hidden>
Date:   Tue Feb 21 10:16:49 2017 -0300

    powerpc: Convert tests to the new support test-driver
    
    Change the powerpc tests to use <support/test-driver.c>.
    Also replace some of pthread calls to its xpthread equivalent.
    
    Tested on ppc64le.
    
        * sysdeps/powerpc/test-get_hwcap.c: Use <support/test-driver.c>
        instead of test-skeleton.c.
        (do_test): Replaced pthread_create and pthread_join with
        xpthread_create and xpthread_join.  Use TEST_VERIFY_EXIT macro.
        Removed unneeded status variable.
        * sysdeps/powerpc/test-gettimebase.c: Use <support/test-driver.c>
        instead of test-skeleton.c.
        * sysdeps/powerpc/tst-tlsopt-powerpc.c: Likewise.

commit 0b38d66a4e2e0d7cb9f40da5bc6e795e20cf3088
Author: Mike FABIAN <address@hidden>
Date:   Tue Feb 21 06:30:38 2017 -0500

    Bug 20313: Update to Unicode 9.0.0
    
    * Unicode 9.0.0 Support: Character encoding, character type info, and
      transliteration tables are all updated to Unicode 9.0.0, using
      generator scripts contributed by Mike FABIAN (Red Hat).

commit 24b2a1b12283c73335281c4010bcbaafead04619
Author: Joseph Myers <address@hidden>
Date:   Mon Feb 20 17:53:51 2017 +0000

    Remove some unused libm-test exception macros.
    
    This patch removes some libm-test-support.h macros for exceptions that
    are no longer used.  EXCEPTIONS_OK has been unused for some time.  The
    macros for underflow exceptions with some types only were used when
    the results for complex inverse trig and hyperbolic functions were
    manually maintained, but are no longer needed now the auto-libm-test
    machinery is used to determine the correct result and exceptions for
    every floating-point format and rounding mode.
    
    Tested for x86_64.
    
        * math/libm-test-support.h (EXCEPTIONS_OK): Remove macro.
        (UNDERFLOW_EXCEPTION_FLOAT): Likewise.
        (UNDERFLOW_EXCEPTION_OK_FLOAT): Likewise.
        (UNDERFLOW_EXCEPTION_DOUBLE): Likewise.
        (UNDERFLOW_EXCEPTION_OK_DOUBLE): Likewise.
        (UNDERFLOW_EXCEPTION_LDOUBLE_IBM): Likewise.

commit 71223d68802e63a9d8e3b9f2907ccefffe1762cb
Author: Zack Weinberg <address@hidden>
Date:   Sun Nov 20 20:46:30 2016 -0500

    One more obvious missing #include in the testsuite.
    
        * rt/tst-mqueue4.c: Include stdint.h.

commit 9174b4c3b612d1d8b6e0e53acd7ba39e86dc2e38
Author: Joseph Myers <address@hidden>
Date:   Fri Feb 17 23:10:01 2017 +0000

    Update arm, mips, powerpc-nofpu libm-test-ulps.
    
        * sysdeps/arm/libm-test-ulps: Update.
        * sysdeps/mips/mips32/libm-test-ulps: Likewise.
        * sysdeps/mips/mips64/libm-test-ulps: Likewise.
        * sysdeps/powerpc/nofpu/libm-test-ulps: Likewise.

commit 3b33d6ed6096c1d20d05a650b06026d673f7399a
Author: Adhemerval Zanella <address@hidden>
Date:   Sun Jan 8 11:38:23 2017 -0200

    Rework -fno-omit-frame-pointer support on i386
    
    Commit 6b1df8b27f fixed the -OS build issue on i386 (BZ#20729) by
    expliciting disabling frame pointer (-fomit-frame-pointer) on the
    faulty objects.  Although it does fix the issue, it is a subpar
    workaround that adds complexity in build process (a rule for each
    object to add the required compiler option and pontentially more
    rules for objects that call {INLINE,INTERNAL}_SYSCALL) and does not
    allow the implementations to get all the possible debug/calltrack
    information possible (used mainly in debuggers and performance
    measurement tools).
    
    This patch fixes it by adding an explicit configure check to see
    if -fno-omit-frame-pointer is set and to act accordingly (set or
    not OPTIMIZE_FOR_GCC_5).  The make rules is simplified and only
    one is required: to add libc-do-syscall on loader due mmap
    (which will be empty anyway for default build with
    -fomit-frame-pointer).
    
    Checked on i386-linux-gnu with GCC 6.2.1 with CFLAGS sets as
    '-Os', '-O2 -fno-omit-frame-pointer', and '-O2 -fomit-frame-pointer'.
    For '-Os' the testsuite issues described by BZ#19463 and BZ#15105
    still applied.
    
    It fixes BZ #21029, although it is marked as duplicated of #20729
    (I reopened to track this cleanup).
    
        [BZ #21029]
        * config.h.in [CAN_USE_REGISTER_ASM_EBP]: New define.
        * sysdeps/unix/sysv/linux/i386/Makefile
        [$(subdir) = elf] (sysdep-dl-routines): Add libc-do-syscall.
        (uses-6-syscall-arguments): Remove.
        [$(subdir) = misc] (CFLAGS-epoll_pwait.o): Likewise.
        [$(subdir) = misc] (CFLAGS-epoll_pwait.os): Likewise.
        [$(subdir) = misc] (CFLAGS-mmap.o): Likewise.
        [$(subdir) = misc] (CFLAGS-mmap.os): Likewise.
        [$(subdir) = misc] (CFLAGS-mmap64.o): Likewise.
        [$(subdir) = misc] (CFLAGS-mmap64.os): Likewise.
        [$(subdir) = misc] (CFLAGS-pselect.o): Likewise.
        [$(subdir) = misc] (cflags-pselect.o): Likewise.
        [$(subdir) = misc] (cflags-pselect.os): Likewise.
        [$(subdir) = misc] (cflags-rtld-mmap.os): Likewise.
        [$(subdir) = sysvipc] (cflags-semtimedop.o): Likewise.
        [$(subdir) = sysvipc] (cflags-semtimedop.os): Likewise.
        [$(subdir) = io] (CFLAGS-posix_fadvise64.o): Likewise.
        [$(subdir) = io] (CFLAGS-posix_fadvise64.os): Likewise.
        [$(subdir) = io] (CFLAGS-posix_fallocate.o): Likewise.
        [$(subdir) = io] (CFLAGS-posix_fallocate.os): Likewise.
        [$(subdir) = io] (CFLAGS-posix_fallocate64.o): Likewise.
        [$(subdir) = io] (CFLAGS-posix_fallocate64.os): Likewise.
        [$(subdir) = io] (CFLAGS-sync_file_range.o): Likewise.
        [$(subdir) = io] (CFLAGS-sync_file_range.os): Likewise.
        [$(subdir) = io] (CFLAGS-fallocate.o): Likewise.
        [$(subdir) = io] (CFLAGS-fallocate.os): Likewise.
        [$(subdir) = io] (CFLAGS-fallocate64.o): Likewise.
        [$(subdir) = io] (CFLAGS-fallocate64.os): Likewise.
        [$(subdir) = nptl] (CFLAGS-pthread_rwlock_timedrdlock.o):
        Likewise.
        [$(subdir) = nptl] (CFLAGS-pthread_rwlock_timedrdlock.os):
        Likewise.
        [$(subdir) = nptl] (CFLAGS-pthread_rwlock_timedrwlock.o):
        Likewise.
        [$(subdir) = nptl] (CFLAGS-pthread_rwlock_timedrwlock.os):
        Likewise.
        [$(subdir) = nptl] (CFLAGS-sem_wait.o): Likewise.
        [$(subdir) = nptl] (CFLAGS-sem_wait.os): Likewise.
        [$(subdir) = nptl] (CFLAGS-sem_timedwait.o): Likewise.
        [$(subdir) = nptl] (CFLAGS-sem_timedwait.os): Likewise.
        * sysdeps/unix/sysv/linux/i386/configure.ac: Add check if compiler 
allows
        ebp on inline assembly.
        * sysdeps/unix/sysv/linux/i386/configure: Regenerate.
        * sysdeps/unix/sysv/linux/i386/sysdep.h (OPTIMIZE_FOR_GCC_5):
        Set if CAN_USE_REGISTER_ASM_EBP is set.
        (check_consistency): Likewise.

commit 52ac22365a332cacf7aa97f1b41b3a0adfaff778
Author: H.J. Lu <address@hidden>
Date:   Fri Feb 17 11:53:26 2017 -0800

    Use index_cpu_RTM and reg_RTM to clear the bit_cpu_RTM bit
    
        * sysdeps/x86/cpu-features.c (init_cpu_features): Use
        index_cpu_RTM and reg_RTM to clear the bit_cpu_RTM bit.

commit 2c51dfd05d75275b9a2d7be27e5b9544fe3c303f
Author: Joseph Myers <address@hidden>
Date:   Fri Feb 17 18:42:37 2017 +0000

    Move tests of catan, catanh to auto-libm-test-*.
    
    This patch moves tests of catan and catanh with finite inputs (other
    than the divide-by-zero cases producing an exact infinity) to using
    the auto-libm-test machinery.  Each of auto-libm-test-out-catan and
    auto-libm-test-out-catanh takes about three seconds to generate on my
    system (so in fact it wasn't necessary after all to defer the move to
    auto-libm-test-* until the output files were split up by function).
    
    Tested for x86_64 and x86 and ulps updated accordingly.
    
        * math/auto-libm-test-in: Add tests of catan and catanh.
        * math/auto-libm-test-out-catan: New generated file.
        * math/auto-libm-test-out-catanh: Likewise.
        * math/libm-test-catan.inc (catan_test_data): Use AUTO_TESTS_c_c.
        Move tests with finite inputs, except divide-by-zero cases, to
        auto-libm-test-in.
        * math/libm-test-catanh.inc (catanh_test_data): Likewise.
        * math/Makefile (libm-test-funcs-auto): Add catan and catanh.
        (libm-test-funcs-noauto): Remove catan and catanh.
        * sysdeps/i386/fpu/libm-test-ulps: Update.
        * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise.
        * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.

commit fa2a3dd7a38df17dcf5f3d151141daa840904dce
Author: Joseph Myers <address@hidden>
Date:   Fri Feb 17 18:14:02 2017 +0000

    Move tests of casin, casinh to auto-libm-test-*.
    
    This patch moves tests of casin and casinh with finite inputs to using
    the auto-libm-test machinery.  Each of auto-libm-test-out-casin and
    auto-libm-test-out-casinh takes about 38 minutes to generate on my
    system because of MPC slowness on special cases that appear in the
    tests (with MPC 1.0.3; I don't know to what extent current MPC master
    might speed it up).
    
    Tested for x86_64 and x86 and ulps updated accordingly.
    
        * math/auto-libm-test-in: Add tests of casin and casinh.
        * math/auto-libm-test-out-casin: New generated file.
        * math/auto-libm-test-out-casinh: Likewise.
        * math/libm-test-casin.inc (casin_test_data): Use AUTO_TESTS_c_c.
        Move tests with finite inputs to auto-libm-test-in.
        * math/libm-test-casinh.inc (casinh_test_data): Likewise.
        * math/Makefile (libm-test-funcs-auto): Add casin and casinh.
        (libm-test-funcs-noauto): Remove casin and casinh.
        * sysdeps/i386/fpu/libm-test-ulps: Update.
        * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise.
        * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.

commit 6b8303a383660a3c7b2792246c933f8a2234d712
Author: Joseph Myers <address@hidden>
Date:   Fri Feb 17 17:44:23 2017 +0000

    Move tests of cacos, cacosh to auto-libm-test-*.
    
    This patch moves tests of cacos and cacosh with finite inputs to using
    the auto-libm-test machinery.  Each of auto-libm-test-out-cacos and
    auto-libm-test-out-cacosh takes about 80 minutes to generate on my
    system because of MPC slowness on special cases that appear in the
    tests (with MPC 1.0.3; I don't know to what extent current MPC master
    might speed it up).
    
    Tested for x86_64 and x86 and ulps updated accordingly.
    
        * math/auto-libm-test-in: Add tests of cacos and cacosh.
        * math/auto-libm-test-out-cacos: New generated file.
        * math/auto-libm-test-out-cacosh: Likewise.
        * math/libm-test-cacos.inc (cacos_test_data): Use AUTO_TESTS_c_c.
        Move tests with finite inputs to auto-libm-test-in.
        * math/libm-test-cacosh.inc (cacosh_test_data): Likewise.
        * math/Makefile (libm-test-funcs-auto): Add cacos and cacosh.
        (libm-test-funcs-noauto): Remove cacos and cacosh.
        * sysdeps/i386/fpu/libm-test-ulps: Update.
        * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise.
        * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.

commit f7a51347a4e369fcc51e867ef03826e99acc4fdc
Author: Joseph Myers <address@hidden>
Date:   Fri Feb 17 17:08:17 2017 +0000

    Revert header inclusion changes that break math/ testing on x86_64.
    
        Revert:
        2017-02-16  Zack Weinberg  <address@hidden>
    
        * sysdeps/x86_64/fpu/math-tests-arch.h: Include cpu-features.h.
        Don't include init-arch.h.
        * sysdeps/x86_64/multiarch/test-multiarch.h: Include cpu-features.h.
        Don't include init-arch.h.

commit 51b34a9c47e4228873788ad66699c328e27a3295
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Fri Feb 17 09:07:57 2017 -0200

    Fix lgamma*, log10* and log2* results [BZ #21171]
    
    lgamma(-x) should return +Inf and raise divide-by-zero.
    log10(+-0) and log2(+-0) should return -Inf and raise divide-by-zero.
    
    Tested on powerpc, powerpc64, powerpc64le and x86_64.
    
        [BZ #21171]
        * sysdeps/ieee754/dbl-64/e_lgamma_r.c (__ieee754_lgamma_r): Return
        +Inf and raise divide-by-zero when x is negative.
        * sysdeps/ieee754/flt-32/e_lgammaf_r.c (__ieee754_lgammaf_r): Likewise.
        * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgammal_r): 
Likewise.
    
        * sysdeps/ieee754/dbl-64/e_log10.c (__ieee754_log10):  Return
        -Inf and raise divide-by-zero when x = +-0.
        * sysdeps/ieee754/dbl-64/e_log2.c (__ieee754_log2): Likewise.
        * 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_log10l.c (__ieee754_log10l): Likewise.
        * sysdeps/ieee754/ldbl-128/e_log2l.c (__ieee754_log2l): Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_log10l.c (__ieee754_log10l): Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_log2l.c (__ieee754_log2l): Likewise.

commit f0166c1643038e0ca42d300ddae36c00f400f4cf
Author: Zack Weinberg <address@hidden>
Date:   Thu Feb 16 16:57:35 2017 -0500

    build-many-glibcs: don't crash if email is not configured
    
    The 'bot-cycle' action for build-many-glibcs is a convenient way to
    not have to remember all the steps in keeping a many-glibcs tree up
    to date ... or it would be, if the script could send mail _optionally_.
    Make it so by skipping the mail step if mail isn't configured.
    
        * scripts/build-many-glibcs.py (bot_build_mail):  If the
        bot_config does not contain all of the necessary email-
        related settings, just print a warning and continue.

commit ceaa98897cb717685bb3b51a81d733b64340bb19
Author: Zack Weinberg <address@hidden>
Date:   Thu Feb 16 17:31:42 2017 -0500

    Add missing header files throughout the testsuite.
    
        * crypt/md5.h: Test _LIBC with #if defined, not #if.
        * dirent/opendir-tst1.c: Include sys/stat.h.
        * dirent/tst-fdopendir.c: Include sys/stat.h.
        * dirent/tst-fdopendir2.c: Include stdlib.h.
        * dirent/tst-scandir.c: Include stdbool.h.
        * elf/tst-auditmod1.c: Include link.h and stddef.h.
        * elf/tst-tls15.c: Include stdlib.h.
        * elf/tst-tls16.c: Include stdlib.h.
        * elf/tst-tls17.c: Include stdlib.h.
        * elf/tst-tls18.c: Include stdlib.h.
        * iconv/tst-iconv6.c: Include endian.h.
        * iconvdata/bug-iconv11.c: Include limits.h.
        * io/test-utime.c: Include stdint.h.
        * io/tst-faccessat.c: Include sys/stat.h.
        * io/tst-fchmodat.c: Include sys/stat.h.
        * io/tst-fchownat.c: Include sys/stat.h.
        * io/tst-fstatat.c: Include sys/stat.h.
        * io/tst-futimesat.c: Include sys/stat.h.
        * io/tst-linkat.c: Include sys/stat.h.
        * io/tst-mkdirat.c: Include sys/stat.h and stdbool.h.
        * io/tst-mkfifoat.c: Include sys/stat.h and stdbool.h.
        * io/tst-mknodat.c: Include sys/stat.h and stdbool.h.
        * io/tst-openat.c: Include stdbool.h.
        * io/tst-readlinkat.c: Include sys/stat.h.
        * io/tst-renameat.c: Include sys/stat.h.
        * io/tst-symlinkat.c: Include sys/stat.h.
        * io/tst-unlinkat.c: Include stdbool.h.
        * libio/bug-memstream1.c: Include stdlib.h.
        * libio/bug-wmemstream1.c: Include stdlib.h.
        * libio/tst-fwrite-error.c: Include stdlib.h.
        * libio/tst-memstream1.c: Include stdlib.h.
        * libio/tst-memstream2.c: Include stdlib.h.
        * libio/tst-memstream3.c: Include stdlib.h.
        * malloc/tst-interpose-aux.c: Include stdint.h.
        * misc/tst-preadvwritev-common.c: Include sys/stat.h.
        * nptl/tst-basic7.c: Include limits.h.
        * nptl/tst-cancel25.c: Include pthread.h, not pthreadP.h.
        * nptl/tst-cancel4.c: Include stddef.h, limits.h, and sys/stat.h.
        * nptl/tst-cancel4_1.c: Include stddef.h.
        * nptl/tst-cancel4_2.c: Include stddef.h.
        * nptl/tst-cond16.c: Include limits.h.
        Use sysconf(_SC_PAGESIZE) instead of __getpagesize.
        * nptl/tst-cond18.c: Include limits.h.
        Use sysconf(_SC_PAGESIZE) instead of __getpagesize.
        * nptl/tst-cond4.c: Include stdint.h.
        * nptl/tst-cond6.c: Include stdint.h.
        * nptl/tst-stack2.c: Include limits.h.
        * nptl/tst-stackguard1.c: Include stddef.h.
        * nptl/tst-tls4.c: Include stdint.h. Don't include tls.h.
        * nptl/tst-tls4moda.c: Include stddef.h.
        Don't include stdio.h, unistd.h, or tls.h.
        * nptl/tst-tls4modb.c: Include stddef.h.
        Don't include stdio.h, unistd.h, or tls.h.
        * nptl/tst-tls5.h: Include stddef.h. Don't include stdlib.h or tls.h.
        * posix/tst-getaddrinfo2.c: Include stdio.h.
        * posix/tst-getaddrinfo5.c: Include stdio.h.
        * posix/tst-pathconf.c: Include sys/stat.h.
        * posix/tst-posix_fadvise-common.c: Include stdint.h.
        * posix/tst-preadwrite-common.c: Include sys/stat.h.
        * posix/tst-regex.c: Include stdint.h.
        Don't include spawn.h or spawn_int.h.
        * posix/tst-regexloc.c: Don't include spawn.h or spawn_int.h.
        * posix/tst-vfork3.c: Include sys/stat.h.
        * resolv/tst-bug18665-tcp.c: Include stdlib.h.
        * resolv/tst-res_hconf_reorder.c: Include stdlib.h.
        * resolv/tst-resolv-search.c: Include stdlib.h.
        * stdio-common/tst-fmemopen2.c: Include stdint.h.
        * stdio-common/tst-vfprintf-width-prec.c: Include stdlib.h.
        * stdlib/test-canon.c: Include sys/stat.h.
        * stdlib/tst-tls-atexit.c: Include stdbool.h.
        * string/test-memchr.c: Include stdint.h.
        * string/tst-cmp.c: Include stdint.h.
        * sysdeps/pthread/tst-timer.c: Include stdint.h.
        * sysdeps/unix/sysv/linux/tst-sync_file_range.c: Include stdint.h.
        * sysdeps/wordsize-64/tst-writev.c: Include limits.h and stdint.h.
        * sysdeps/x86_64/fpu/math-tests-arch.h: Include cpu-features.h.
        Don't include init-arch.h.
        * sysdeps/x86_64/multiarch/test-multiarch.h: Include cpu-features.h.
        Don't include init-arch.h.
        * sysdeps/x86_64/tst-auditmod10b.c: Include link.h and stddef.h.
        * sysdeps/x86_64/tst-auditmod3b.c: Include link.h and stddef.h.
        * sysdeps/x86_64/tst-auditmod4b.c: Include link.h and stddef.h.
        * sysdeps/x86_64/tst-auditmod5b.c: Include link.h and stddef.h.
        * sysdeps/x86_64/tst-auditmod6b.c: Include link.h and stddef.h.
        * sysdeps/x86_64/tst-auditmod6c.c: Include link.h and stddef.h.
        * sysdeps/x86_64/tst-auditmod7b.c: Include link.h and stddef.h.
        * time/clocktest.c: Include stdint.h.
        * time/tst-posixtz.c: Include stdint.h.
        * timezone/tst-timezone.c: Include stdint.h.

commit e546c3c99f12c2cd1b49bb68af9b8e20933df99c
Author: Zack Weinberg <address@hidden>
Date:   Thu Feb 16 17:05:51 2017 -0500

    ChangeLog entry for previous changeset

commit 7b037c095e31c2396d0a9b0e6356bc566ee4812f
Author: Zack Weinberg <address@hidden>
Date:   Wed Nov 16 16:20:26 2016 -0500

    Clean up redundancies between string.h and strings.h.
    
        * string/string.h [__USE_MISC]: Include strings.h.
        (__bzero, bcmp, bcopy, bzero, index, rindex)
        (strcasecmp, strncasecmp, strcasecmp_l, strncasecmp_l)
        (ffs, ffsl, ffsll): Don't declare.
    
        * string/strings.h: Do not suppress the file if string.h has
        already been included.
        (bcmp, bcopy, bzero, strcasecmp, strncasecmp): Add __nonnull
        annotations.
        (index, rindex): Define inline forwarders even if
        __CORRECT_ISO_CPP_STRING_H_PROTO is defined.
        (ffs): Use __attribute_const__.
        (ffsl, ffsll): Declare here.
        (strcasecmp_l, strncasecmp_l): Correct comments; these functions
        have now been standardized.
    
        * include/string.h (__bzero): Declare here.

commit ab9536a75d3f2e0158cc91a0ae0096032c9d57b4
Author: Zack Weinberg <address@hidden>
Date:   Thu Dec 1 14:22:54 2016 -0500

    Move bits/types.h into posix/bits.
    
    bits/types.h has no sysdeps variants, so it should be in the
    subdirectory that installs it (namely, posix).
    
        * bits/types.h: Move to posix/bits.
        * include/bits/types.h: New wrapper.

commit f7db120f67d853e0cfa272fa39c8b9be67c0a935
Author: Wilco Dijkstra <address@hidden>
Date:   Wed Feb 15 15:23:52 2017 +0000

    Remove the str(n)cmp inlines from string/bits/string2.h.  The strncmp
    optimization seems unlikely to ever be useful, but if it occurs in
    real code it should be added to GCC.  Expanding strcmp of small strings
    does appear useful (benchmarking shows it is 2-3x faster), so this would
    be useful to implement in GCC (PR 78809).
    
        * string/bits/string2.h (strcmp): Remove define.
        (__strcmp_cg): Likewise.
        (strncmp): Likewise.

commit 3172b27b2b3b0033e85ddf3566c7533a8f3b4bda
Author: Wilco Dijkstra <address@hidden>
Date:   Wed Feb 15 15:13:58 2017 +0000

    The internal header include/string.h does not work in C++: it causes link 
errors
    in several C++ debug tests when any of the functions it declares are called.
    The best option would be to not use internal headers for tests (unless
    explicitly needed).  Add guards so that it is safe to use include/string.h 
from
    C++.
    
        * include/string.h: Add __cplusplus check.

commit 4918e5f4cd63290bb0b2c614f52092ca6a779126
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Sun Feb 12 22:36:27 2017 -0200

    Fix y0 and y1 exception handling for zero input [BZ #21134]
    
    The Bessel functions of the second type (Yn) should raise the "divide
    by zero" exception when input is zero (both positive and negative).
    Current code gives the right output, but fails to set the exception.
    This error is exposed for float, double, and long double when linking
    with -lieee.  Without this flag, the error is not exposed, because the
    wrappers for these functions, which use __kernel_standard
    functionality, set the exception as expected.
    
    Tested for powerpc64le.
    
        [BZ #21134]
        * sysdeps/ieee754/dbl-64/e_j0.c (__ieee754_y0): Raise the
        "divide by zero" exception when the input is zero.
        * sysdeps/ieee754/dbl-64/e_j1.c (__ieee754_y1): Likewise.
        * sysdeps/ieee754/flt-32/e_j0f.c (__ieee754_y0f): Likewise.
        * sysdeps/ieee754/flt-32/e_j1f.c (__ieee754_y1f): Likewise.
        * sysdeps/ieee754/ldbl-128/e_j0l.c (__ieee754_y0l): Likewise.
        * sysdeps/ieee754/ldbl-128/e_j1l.c (__ieee754_y1l): Likewise.

commit 10303eb74bfe33d46ef167d2ea31c746ea1cd6ad
Author: Joseph Myers <address@hidden>
Date:   Wed Feb 15 01:13:15 2017 +0000

    Move most libmvec test contents from .c to .h files.
    
    The libmvec tests put substantive, architecture-specific contents in
    .c files such as test-double-vlen4.c, so making those files
    architecture-specific and causing issues for generating such files
    automatically when splitting up tests by function.
    
    This patch moves all the substantive contents to .h files, so the .c
    files only include the .h file and then libm-test.c.  This allows for
    automatic generation of per-function .c files in future.  The .h files
    in turn #include or #include_next the architecture-independent file
    and add the architecture-specific definitions to that.  (Splitting by
    function should in fact allow the TEST_VECTOR_* macros to be replaced
    by sysdeps makefile information on which functions to test in each
    case, removing the need for gen-libm-have-vector-test.sh as well as
    removing the need for some of the architecture-specific headers.)
    
    Tested for x86_64.
    
        * sysdeps/x86_64/fpu/test-double-vlen2.c: Move most contents to,
        and include ...
        * sysdeps/x86_64/fpu/test-double-vlen2.h: ... here.  New file.
        * sysdeps/x86_64/fpu/test-double-vlen4-avx2.c: Move most contents
        to, and include ...
        * sysdeps/x86_64/fpu/test-double-vlen4-avx2.h: ... here.  New
        file.
        * sysdeps/x86_64/fpu/test-double-vlen4.c: Move most contents to,
        and include ...
        * sysdeps/x86_64/fpu/test-double-vlen4.h: ... here.  New file.
        * sysdeps/x86_64/fpu/test-double-vlen8.c: Move most contents to,
        and include ...
        * sysdeps/x86_64/fpu/test-double-vlen8.h: ... here.  New file.
        * sysdeps/x86_64/fpu/test-float-vlen16.c: Move most contents to,
        and include ...
        * sysdeps/x86_64/fpu/test-float-vlen16.h: ... here.  New file.
        * sysdeps/x86_64/fpu/test-float-vlen4.c: Move most contents to,
        and include ...
        * sysdeps/x86_64/fpu/test-float-vlen4.h: ... here.  New file.
        * sysdeps/x86_64/fpu/test-float-vlen8-avx2.c: Move most contents
        to, and include ...
        * sysdeps/x86_64/fpu/test-float-vlen8-avx2.h: ... here.  New file.
        * sysdeps/x86_64/fpu/test-float-vlen8.c: Move most contents to,
        and include ...
        * sysdeps/x86_64/fpu/test-float-vlen8.h: ... here.  New file.

commit b4e4172da6d43ac47cdf6763b3531e5e23102ff9
Author: Joseph Myers <address@hidden>
Date:   Tue Feb 14 00:15:48 2017 +0000

    Move INIT_ARCH_EXT call from libm-test-support to libm-test-driver.
    
    libmvec tests involve calling INIT_ARCH_EXT during initialization then
    CHECK_ARCH_EXT before testing each function to see if the processor
    being used for testing supports the required instruction set
    extensions.
    
    After my refactoring of libm-test infrastructure, the INIT_ARCH_EXT
    call is in libm-test-support.c, built only once per floating-point
    type.  Now, in fact all definitions of this macro are empty, but given
    that the definitions in sysdeps/x86_64/fpu/math-tests-arch.h are
    conditional on REQUIRE_* macros defined in particular vector tests, it
    seems more correct for the INIT_ARCH_EXT call to go instead in
    libm-test-driver.c which gets built separately with those REQUIRE_*
    macros properly defined.  This patch moves the call there.
    
    Tested for x86_64 and x86.
    
        * math/libm-test-support.h: Do not include <math-tests-arch.h>
        here.
        * math/libm-test-support.c (libm_test_init): Do not call
        INIT_ARCH_EXT here.
        * math/libm-test-driver.c: Include <math-tests-arch.h>.
        (main): Call INIT_ARCH_EXT.

commit b987917e6aa7ffe2fd74f0b6a989438e6edd0727
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Fri Jan 6 13:05:30 2017 -0200

    ldbl-128: Fix y0 and y1 for -Inf input [BZ #21130]
    
    The Bessel functions of the second type (Yn) are not defined for
    negative input and should return NAN with the "invalid" exception
    raised, in these cases.  However, current code checks for infinity and
    return zero, regardless of the sign.  This error is exposed for long
    double when linking with -lieee.  Without this flag, the error is not
    exposed, because the wrappers for these functions, which use
    __kernel_standard functionality, return the correct value.
    
    Tested for powerpc64le.
    
        [BZ #21130]
        * sysdeps/ieee754/ldbl-128/e_j0l.c (__ieee754_y0l): Return NAN
        with the "invalid" exception raised when x is -Inf.
        * sysdeps/ieee754/ldbl-128/e_j1l.c (__ieee754_y1l): Likewise.

commit 40b7fbf27310d4f4a899aa2c54740dce5369ec70
Author: Wilco Dijkstra <address@hidden>
Date:   Fri Feb 10 17:26:16 2017 +0000

    GLIBC uses strchr (s, '\0') as an idiom to find the end of a string.
    This is transformed into rawmemchr by the bits/string2.h header.
    However this is generally slower than strlen on most targets, even when
    an optimized rawmemchr implementation exists.  Since GCC7 optimizes
    strchr (s, '\0') to strlen (s) + s, the GLIBC headers should not
    transform this to rawmemchr.  As GCC recognizes strchr as a builtin,
    defining strchr as the builtin is not useful.
    
        * string/bits/string2.h (strchr): Remove define.

commit 3403a17fea8ccef7dc5f99553a13231acf838744
Author: H.J. Lu <address@hidden>
Date:   Thu Feb 9 12:19:44 2017 -0800

    x86-64: Verify that _dl_runtime_resolve preserves vector registers
    
    On x86-64, _dl_runtime_resolve must preserve the first 8 vector
    registers.  Add 3 _dl_runtime_resolve tests to verify that SSE,
    AVX and AVX512 registers are preserved.
    
        * sysdeps/x86_64/Makefile (tests): Add tst-sse, tst-avx and
        tst-avx512.
        (test-extras): Add tst-avx-aux and tst-avx512-aux.
        (extra-test-objs): Add tst-avx-aux.o and tst-avx512-aux.o.
        (modules-names): Add tst-ssemod, tst-avxmod and tst-avx512mod.
        ($(objpfx)tst-sse): New rule.
        ($(objpfx)tst-avx): Likewise.
        ($(objpfx)tst-avx512): Likewise.
        (CFLAGS-tst-avx-aux.c): New.
        (CFLAGS-tst-avxmod.c): Likewise.
        (CFLAGS-tst-avx512-aux.c): Likewise.
        (CFLAGS-tst-avx512mod.c): Likewise.
        * sysdeps/x86_64/tst-avx-aux.c: New file.
        * sysdeps/x86_64/tst-avx.c: Likewise.
        * sysdeps/x86_64/tst-avx512-aux.c: Likewise.
        * sysdeps/x86_64/tst-avx512.c: Likewise.
        * sysdeps/x86_64/tst-avx512mod.c: Likewise.
        * sysdeps/x86_64/tst-avxmod.c: Likewise.
        * sysdeps/x86_64/tst-sse.c: Likewise.
        * sysdeps/x86_64/tst-ssemod.c: Likewise.

commit 1266b9361aaafb122d530efefa90381e44d5b88e
Author: Joseph Myers <address@hidden>
Date:   Thu Feb 9 18:30:41 2017 +0000

    Move more csin, csinh tests to auto-libm-test-in.
    
    When I moved tests of csin and csinh to auto-libm-test-in, I didn't
    move a few tests for which gen-auto-libm-tests was very slow because
    of MPC slowness on certain inputs.
    
    Now that auto-libm-test-out has been split up, such slowness only
    affects regenerating the test expectations for the individual
    functions in question, rather than any addition of tests for any
    function to auto-libm-test-in.  Thus, I no longer consider it a
    problem to have these inputs in auto-libm-test-in, and this patch
    moves them there.  This results in test generation for csin and csinh
    taking 5m43s (for each of csin and csinh) on my system, while other
    functions are unaffected.
    
    I expect the test generation to be much faster in MPC 1.1 (the
    relevant performance improvements went in MPC mainline in Dec 2013,
    but there hasn't been a release from mainline since then).
    
    Tested for x86_64 and x86.
    
        * math/auto-libm-test-in: Add more tests of csin and csinh.
        * math/auto-libm-test-out-csin: Regenerated.
        * math/auto-libm-test-out-csinh: Likewise.
        * math/libm-test-csin.inc (csin_test_data): Remove tests moved to
        auto-libm-test-in.
        * math/libm-test-csinh.inc (csinh_test_data): Likewise.

commit 3789e2fd9d2eef1bf39820df584acab670183905
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Wed Feb 8 20:44:34 2017 -0200

    Merge libm-compat-calls-auto and libm-compat-calls
    
    Both libm-compat-calls and libm-compat-calls-auto list the functions
    that must be built for the types float, double, and long double, but
    not for other floating-point types that get added to libm.  Besides
    that, the use of libm-compat-calls-ldouble-yes to select if
    w_lgamma_compatl and k_standardl should be built for long-double (in
    libm-compat-calls) has the same effect of the use of type-foreach
    (in libm-compat-calls-auto).
    
    This patch merges the contents of libm-compat-calls into
    libm-compat-calls-auto, then renames the latter to libm-compat-calls.
    
    Tested for powerpc64le, s390, and x86_64.
    
        * math/Makefile (libm-compat-calls-ldouble-yes): Merge into
        libm-compat-calls-auto.
        (libm-compat-calls): Likewise.
        (libm-compat-calls-auto): Rename to libm-compat-calls and add
        w_lgamma_compatF and k_standardF (merged from the items above).
        (libm-routines): Use libm-compat-calls, instead of
        libm-compat-calls-auto, with type-foreach.

commit 9b40563c8b43c122ecbc428349e85cffc9dde94b
Author: Joseph Myers <address@hidden>
Date:   Thu Feb 9 17:32:48 2017 +0000

    Move -U__LIBC_INTERNAL_MATH_INLINES to test-math-inline.h.
    
    The libm tests of inline functions undefine __NO_MATH_INLINES (from
    math-CPPFLAGS) in test-math-inline.h, but __LIBC_INTERNAL_MATH_INLINES
    via -U options in the makefile.
    
    This is an odd inconsistency between the handling of the two macros.
    It also depends on the ordering (in compilation commands) of the
    various variables providing compiler options (which I think is why
    it's using CPPFLAGS-*.c instead of CFLAGS-*.c).
    
    This patch moves the undefine to test-math-inline.h, so improving
    consistency and eliminating the dependency on the order in which
    variables go in the compilation commands.  The CPPFLAGS-*.c variables
    are renamed to CFLAGS-*.c, matching those for the non-inline libm
    function tests.
    
    By moving the -U option to the header file, this should ensure that
    ordering issues don't arise with a subsequent move of the options to
    these tests to target-specific CFLAGS += ... variable settings (for
    when tests for each function are build separately and so compilation
    options need setting for many more makefile targets, for which
    target-specific variable settings seem to be the most convenient form
    to generate with iterators).
    
    Tested for x86_64.
    
        * math/test-math-inline.h (__LIBC_INTERNAL_MATH_INLINES): Undefine
        macro.
        * math/Makefile (CPPFLAGS-test-ifloat.c): Rename to ...
        (CFLAGS-test-ifloat.c): ... this.  Remove
        -U__LIBC_INTERNAL_MATH_INLINES.
        * math/Makefile (CPPFLAGS-test-idouble.c): Rename to ...
        (CFLAGS-test-idouble.c): ... this.  Remove
        -U__LIBC_INTERNAL_MATH_INLINES.
        * math/Makefile (CPPFLAGS-test-ildouble.c): Rename to ...
        (CFLAGS-test-ildouble.c): ... this.  Remove
        -U__LIBC_INTERNAL_MATH_INLINES.

commit 3b2f60328eb4a9f9d776ee63931a3538eafe596a
Author: Joseph Myers <address@hidden>
Date:   Wed Feb 8 21:11:49 2017 +0000

    Build most libm-test support code once per type.
    
    libm-test-driver.c contains various functions used in the course of
    libm testing, which are built as part of each test using this
    machinery.
    
    Currently, these functions get built for three tests for each type
    (e.g. test-float, test-ifloat, test-float-finite), plus the vector
    function tests.  All these tests are huge and thus slow to build; the
    output of gen-libm-test.pl totals around 40 MB across all functions.
    To make the individual tests built from the Makefile smaller, it makes
    sense to split these tests up so the tests for each function are built
    separately (thus, three tests for each (function, type) pair, plus
    vector tests built only for functions that actually have vector
    versions).  This improves parallelism and means that if tests fail,
    the summary of failed tests makes it more obvious where the problem
    might be without needing to look in the .out files to see which
    functions' tests failed (though architecture maintainers still need to
    keep libm-test-ulps up to date to avoid spurious failures of little
    interest).
    
    Simply including libm-test-driver.c as-is in such individual-function
    tests does not work because of unused static check_* functions (those
    functions only being used for the types of the outputs of the function
    under test).  It also means the common code gets built over 1000 times
    instead of nine (plus vector tests).  To avoid that issue, this patch
    splits out the bulk of the libm-test-driver.c code into a separate
    file libm-test-support.c (with a few functions made non-static).  That
    separate file is built only once for each floating-point type (so at
    present three times, or twice on architectures with long double =
    double).  Definitions needed in both libm-test-support.c and
    libm-test-driver.c go in libm-test-support.h (it's possible some of
    those are in fact only needed in one of the two files).
    libm-test-driver.c keeps definitions of a limited number of variables
    used to configure how libm-test-support.c behaves, various macros and
    structures needed by individual-function tests, and the main function.
    
    This move is also consistent in spirit with the move away from
    test-skeleton.c having all the test support code, to a small
    support/test-driver.c included in individual tests with most of the
    code built separately.
    
    Tested for x86_64 and x86.
    
        * math/libm-test-support.c: New file.  Content from
        math/libm-test-driver.c.
        * math/libm-test-support.h: Likewise.
        * math/libm-test-support-double.c: New file.
        * math/libm-test-support-float.c: Likewise.
        * math/libm-test-support-ldouble.c: Likewise.
        * math/libm-test-driver.c: Remove main comment and header
        includes.  Include libm-test-support.h.
        [!_GNU_SOURCE] (_GNU_SOURCE): Do not define.
        (flag_test_errno): Remove static.
        (flag_test_exceptions): Likewise.
        (flag_test_finite): Likewise.
        (flag_test_inline): Likewise.
        (flag_test_mathvec): Likewise.
        (test_msg): Likewise.
        (NO_EXCEPTION): Remove.
        (INVALID_EXCEPTION): Likewise.
        (DIVIDE_BY_ZERO_EXCEPTION): Likewise.
        (OVERFLOW_EXCEPTION): Likewise.
        (UNDERFLOW_EXCEPTION): Likewise.
        (INEXACT_EXCEPTION): Likewise.
        (INVALID_EXCEPTION_OK): Likewise.
        (DIVIDE_BY_ZERO_EXCEPTION_OK): Likewise.
        (OVERFLOW_EXCEPTION_OK): Likewise.
        (UNDERFLOW_EXCEPTION_OK): Likewise.
        (NO_INEXACT_EXCEPTION): Likewise.
        (EXCEPTIONS_OK): Likewise.
        (IGNORE_ZERO_INF_SIGN): Likewise.
        (TEST_NAN_SIGN): Likewise.
        (TEST_NAN_PAYLOAD): Likewise.
        (NO_TEST_INLINE): Likewise.
        (XFAIL_TEST): Likewise.
        (ERRNO_UNCHANGED): Likewise.
        (ERRNO_EDOM): Likewise.
        (ERRNO_ERANGE): Likewise.
        (IGNORE_RESULT): Likewise.
        (NON_FINITE): Likewise.
        (TEST_SNAN): Likewise.
        (NO_TEST_MATHVEC): Likewise.
        (__CONCATX): Likewise.
        (TYPE_MIN): Likewise.
        (TYPE_TRUE_MIN): Likewise.
        (TYPE_MAX): Likewise.
        (MIN_EXP): Likewise.
        (MAX_EXP): Likewise.
        (MANT_DIG): Likewise.
        (FSTR_MAX): Likewise.
        (ulp_idx): Likewise.
        (qtype_str): Remove static.
        (TEST_COND_binary32): Remove.
        (TEST_COND_binary64): Likewise.
        (TEST_COND_binary128): Likewise.
        (TEST_COND_ibm128): Likewise.
        (TEST_COND_intel96): Likewise.
        (TEST_COND_m68k96): Likewise.
        (TEST_COND_ibm128_libgcc): Likewise.
        (XFAIL_IBM128_LIBGCC): Likewise.
        (PAYLOAD_DIG): Likewise.
        (UNDERFLOW_EXCEPTION_FLOAT): Likewise.
        (UNDERFLOW_EXCEPTION_OK_FLOAT): Likewise.
        (UNDERFLOW_EXCEPTION_DOUBLE): Likewise.
        (UNDERFLOW_EXCEPTION_OK_DOUBLE): Likewise.
        (UNDERFLOW_EXCEPTION_LDOUBLE_IBM): Likewise.
        (UNDERFLOW_EXCEPTION_BEFORE_ROUNDING): Likewise.
        (TEST_COND_long32): Likewise.
        (TEST_COND_long64): Likewise.
        (TEST_COND_before_rounding): Likewise.
        (TEST_COND_after_rounding): Likewise.
        (ulps_file_name): Likewise.
        (ulps_file): Likewise.
        (output_ulps): Likewise.
        (output_dir): Likewise.
        (noErrors): Likewise.
        (noTests): Likewise.
        (noExcTests): Likewise.
        (noErrnoTests): Likewise.
        (verbose): Likewise.
        (output_max_error): Likewise.
        (output_points): Likewise.
        (ignore_max_ulp): Likewise.
        (max_error): Likewise.
        (real_max_error): Likewise.
        (imag_max_error): Likewise.
        (prev_max_error): Likewise.
        (prev_real_max_error): Likewise.
        (prev_imag_max_error): Likewise.
        (max_valid_error): Likewise.
        (TYPE_DECIMAL_DIG): Likewise.
        (TYPE_HEX_DIG): Likewise.
        (fmt_ftostr): Likewise.
        (compare_ulp_data): Likewise.
        (find_ulps): Likewise.
        (init_max_error): Likewise.
        (set_max_error): Likewise.
        (print_float): Likewise.
        (print_screen): Likewise.
        (print_screen_max_error): Likewise.
        (update_stats): Likewise.
        (print_function_ulps): Likewise.
        (print_complex_function_ulps): Likewise.
        (fpstack_test): Likewise.
        (print_max_error): Likewise.
        (print_complex_max_error): Likewise.
        (test_single_exception): Likewise.
        (test_exceptions): Likewise.
        (test_single_errno): Likewise.
        (test_errno): Likewise.
        (ULPDIFF): Likewise.
        (ulp): Likewise.
        (check_float_internal): Likewise.
        (check_float): Likewise.
        (check_complex): Likewise.
        (check_int): Likewise.
        (check_long): Likewise.
        (check_bool): Likewise.
        (check_longlong): Likewise.
        (check_intmax_t): Likewise.
        (check_uintmax_t): Likewise.
        (enable_test): Likewise.
        (matherr): Likewise.
        (initialize): Likewise.
        (options): Likewise.
        (doc): Remove static.
        (argp): Likewise.
        (parse_opt): Remove.
        (check_ulp): Likewise.
        (libm_test_init): Likewise.
        (libm_test_finish): Likewise.
        * math/Makefile (libm-test-support): New variable.
        (test-extras): Add libm-test-support files.
        (extra-test-objs): Likewise.
        (CFLAGS-libm-test-support-float.c): New variable.
        (CFLAGS-libm-test-support-double.c): Likewise.
        (CFLAGS-libm-test-support-ldouble.c): Likewise.
        ($(addprefix $(objpfx),$(libm-tests)): Depend on appropriate
        libm-test-support objects.

commit 5ab621c3476fef993f94975c826fd0fe3339c3e2
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Mon Jan 30 17:01:05 2017 -0200

    Move w_exp to libm-compat-call-auto
    
    This patch adds the "_compat" suffix to the wrappers of the function
    exp, which use _LIB_VERSION / matherr / __kernel_standard
    functionality.
    
    Tested for powerpc64le, s390, and x86_64.
    
        * math/Makefile (libm-calls): Move w_exp...
        (libm-compat-calls-auto): Here.
    
        * math/w_expl.c: Add suffix "_compat" to filename.
        * sysdeps/ia64/fpu/w_expl.c: Likewise.
        * sysdeps/ia64/fpu/w_expf.c: Likewise.
        * sysdeps/ia64/fpu/w_exp.c: Likewise.
        * sysdeps/ieee754/dbl-64/w_exp.c: Likewise.
        * sysdeps/ieee754/flt-32/w_expf.c: Likewise.
        * sysdeps/ieee754/ldbl-128/w_expl.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/w_expl.c: Likewise.
        * sysdeps/ieee754/ldbl-96/w_expl.c: Likewise.
    
        * math/w_expl_compat.c: New file, copied from above.
        * sysdeps/ia64/fpu/w_exp_compat.c: Likewise.
        * sysdeps/ia64/fpu/w_expf_compat.c: Likewise.
        * sysdeps/ia64/fpu/w_expl_compat.c: Likewise.
        * sysdeps/ieee754/dbl-64/w_exp_compat.c: Likewise.
        * sysdeps/ieee754/flt-32/w_expf_compat.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.c: Add suffix "_compat"
        to filename.
        * sysdeps/ieee754/ldbl-opt/w_exp.c: Likewise.
    
        * sysdeps/ieee754/ldbl-64-128/w_expl_compat.c: New file,
        copied from above and adjusted for the new filenames.
        * sysdeps/ieee754/ldbl-opt/w_exp_compat.c: Likewise.

commit 163f65e28c22d60a72726b8f07ed5756da05c929
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Wed Dec 21 09:33:32 2016 -0200

    Move w_lgamma to libm-compat-calls-auto
    
    This patch adds the suffix "_compat2" to the wrappers for lgamma,
    which use _LIB_VERSION / matherr / __kernel_standard functionality.
    The suffix "_compat2" is used because the suffix "_compat" is already
    used.
    
    Tested for powerpc64le, s390, and x86_64.
    
        * math/Makefile (libm-calls): Move w_lgammaF...
        (libm-compat-calls-auto): Here.
    
        * math/w_lgamma.c: Add suffix "_compat2" to filename.
        * math/w_lgammaf.c: Likewise.
        * math/w_lgammal.c: Likewise.
    
        * math/w_lgamma_compat2.c: New file, copied from above.
        * math/w_lgammaf_compat2.c: Likewise.
        * math/w_lgammal_compat2.c: Likewise.

commit ea814db27ae450f9ce1b233dfeeea608d485adde
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Wed Dec 21 10:20:08 2016 -0200

    Move w_lgamma_r to libm-compat-calls-auto
    
    This patch adds the suffix "_compat" to lgamma_r wrappers and make
    some adjustments to #includes and Makefiles.  This is a step towards
    deprecation of wrappers that use _LIB_VERSION / matherr /
    __kernel_standard functionality.
    
    Tested for powerpc64le, s390, and x86_64.
    
        * math/Makefile (libm-calls): Move w_lgammaF_r...
        (libm-compat-calls-auto): Here.
    
        * math/w_lgamma_r.c: Add suffix "_compat" to filename.
        * math/w_lgammaf_r.c: Likewise.
        * math/w_lgammal_r.c: Likewise.
        * sysdeps/ia64/fpu/w_lgammal_r.c: Likewise.
        * sysdeps/ia64/fpu/w_lgammaf_r.c: Likewise.
        * sysdeps/ia64/fpu/w_lgamma_r.c: Likewise.
    
        * math/w_lgamma_r_compat.c: New file, copied from above.
        * math/w_lgammaf_r_compat.c: Likewise.
        * math/w_lgammal_r_compat.c: Likewise.
        * sysdeps/ia64/fpu/w_lgamma_r_compat.c: Likewise.
        * sysdeps/ia64/fpu/w_lgammaf_r_compat.c: Likewise.
        * sysdeps/ia64/fpu/w_lgammal_r_compat.c: Likewise.
    
        * sysdeps/ieee754/ldbl-opt/w_lgamma_r.c: Add suffix "_compat"
        to filename.
        * sysdeps/ieee754/ldbl-opt/w_lgammal_r.c: Likewise.
    
        * sysdeps/ieee754/ldbl-opt/w_lgamma_r_compat.c: New file
        copied from above and adjusted for the new filenames.
        * sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c: Likewise.

commit 42de7e20299e0bab8b8b761b34ebcd4b60c68132
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Feb 8 16:30:43 2017 -0200

    aarch64: fix errno address calculation in SYSCALL_ERROR_HANDLER
    
    This patch fixes the last regression in LTP lite scenario (mmap16) comparing
    to lp64 in my source trees [1, 2]. The fix has been suggested back in 2015 
[3]
    but was never applied.
    
    Checked on aarch64-linux-gnu.
    
        * sysdeps/unix/sysv/linux/aarch64/sysdep.h: use PTR_REG() for offset
        calculation in SYSCALL_ERROR_HANDLER().
    
    [1] https://github.com/norov/glibc/tree/dev9
    [2] https://github.com/norov/linux/tree/ilp32-20170203
    [3] https://sourceware.org/ml/libc-alpha/2015-03/msg00587.html

commit ef8659eab64fc24979afa2bd5a272dacf662a7d2
Author: Rical Jasan <address@hidden>
Date:   Wed Feb 8 01:34:12 2017 -0800

    Fix a typo in the manual.
    
    I only caught this because I saw a file in manual/ change.  Oh, the
    irony...  and thank you!
    
        * manual/contrib.texi: Fix typo.

commit 8cbc826c37c0221ada65a7a622fe079b4e89a4b0
Author: Siddhesh Poyarekar <address@hidden>
Date:   Wed Feb 8 11:18:23 2017 +0530

    Fix getting tunable values on big-endian (BZ #21109)
    
    The code to set value passed a tunable_val_t, which when cast to
    int32_t on big-endian gives the wrong value.  Instead, use
    tunable_val_t.numval instead, which can then be safely cast into
    int32_t.

commit 3f67d1a7021ed3184830511636a0867faec730fe
Author: Kir Kolyshkin <address@hidden>
Date:   Tue Feb 7 00:06:05 2017 -0800

    Add Linux PTRACE_EVENT_STOP
    
    Add PTRACE_EVENT_STOP value to Linux's sys/ptrace.h, modify related
    comments accordingly.
    
    This constant initially appeared in Linux 3.1 (kernel commit 3544d72a,
    "ptrace: implement PTRACE_SEIZE") but its value has changed later
    in Linux 3.4 (kernel commit 5cdf389a, "ptrace: renumber
    PTRACE_EVENT_STOP so that future new options and events can match").
    
    The comment is also taken from the above commit.
    
    This constant is used by e.g. strace, CRIU, Mozilla RR.
    
    * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h (__ptrace_eventcodes):
    Add PTRACE_EVENT_STOP.
    * 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/sys/ptrace.h: Likewise.
    * sysdeps/unix/sysv/linux/tile/sys/ptrace.h: Likewise.

commit 12d6284c0e06fdc15da577b65374cd7df6809c84
Author: Joseph Myers <address@hidden>
Date:   Tue Feb 7 23:06:19 2017 +0000

    Clean up libm vector tests exception test disabling.
    
    The libm vector tests disable tests of exception raising via defining
    macros EXCEPTION_TESTS_float and EXCEPTION_TESTS_double to 0 in the
    headers for individual vector lengths.
    
    As EXCEPTION_TESTS is used in code in libm-test-driver.c that is
    otherwise ready to be built only once per type, this is not a good
    idea; it's better to define TEST_EXCEPTIONS appropriately so that
    flag_test_exceptions then gets initialized appropriately.
    Furthermore, it's better to do this just once, in test-math-vector.h,
    since there is no actual dependence on the vector length or type.
    This patch duly makes that change.
    
    Tested for x86_64.
    
        * math/test-math-finite.h (TEST_EXCEPTIONS): New macro.
        * math/test-math-no-finite.h (TEST_EXCEPTIONS): Likewise.
        * math/test-math-vector.h (TEST_EXCEPTIONS): Likewise.
        * math/test-math-no-inline.h (TEST_EXCEPTIONS): Remove macro.
        * math/test-double-vlen2.h (EXCEPTION_TESTS_double): Likewise.
        * math/test-double-vlen4.h (EXCEPTION_TESTS_double): Likewise.
        * math/test-double-vlen8.h (EXCEPTION_TESTS_double): Likewise.
        * math/test-float-vlen4.h (EXCEPTION_TESTS_float): Likewise.
        * math/test-float-vlen8.h (EXCEPTION_TESTS_float): Likewise.
        * math/test-float-vlen16.h (EXCEPTION_TESTS_float): Likewise.

commit edbbdb185518008439221ed9db296ab31039d076
Author: Joseph Myers <address@hidden>
Date:   Tue Feb 7 17:15:47 2017 +0000

    Fix powf inaccuracy (bug 21112).
    
    Bug 21112 reports a case where powf is substantially inaccurate.  This
    results from a multiplication where cp_h*p_h is required to be exact,
    and p_h is masked to have only 12 leading nonzero bits in its
    mantissa, but the value of cp_h has the 13th bit nonzero, leading to
    inexact multiplication results in some cases that can result in large
    errors in the final result of powf.  This patch fixes this by using a
    value of cp_h correctly rounded to nearest to 12 bits, with a
    corresponding updated value of cp_l.
    
    Tested for x86_64 and x86.
    
        [BZ #21112]
        * sysdeps/ieee754/flt-32/e_powf.c (cp_h): Use value with trailing
        12 bits zero.
        (cp_l): Update for new value of cp_h.
        * math/auto-libm-test-in: Add another test of pow.
        * math/auto-libm-test-out-pow: Regenerated.

commit 43ce02c6ec27d4e2d8f0ae327bbbeaba84060964
Author: Siddhesh Poyarekar <address@hidden>
Date:   Tue Feb 7 18:47:30 2017 +0530

    Fix typo in manual
    
    Apparently, implementating is not a word; who would have thunk it...

commit c2ff5ec13fca1bdd1cd646a0260808386d7bd7ff
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Tue Feb 7 10:49:47 2017 +0530

    powerpc: Set minimum kernel version for powerpc64le
    
    This patch sets the minimum kernel version required for ppc64le as 3.10.0.

commit e688cceee598f2c675b19bbb423543020c5a5638
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Tue Feb 7 10:42:06 2017 +0530

    powerpc: Use latest optimizations for internal function calls
    
    Some of the power8 strings optimizations are not updated to use the latest
    version of other string optimizations

commit 04f0fd640d78ff715cb9409f03d55366ed76966e
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Tue Feb 7 10:40:26 2017 +0530

    powerpc: Improve strcmp performance for shorter strings
    
    For strings >16B and <32B existing algorithm takes more time than default
    implementation when strings are placed closed to end of page. This is due
    to byte by byte access for handling page cross. This is improved by
    following >32B code path where the address is adjusted to aligned memory
    before doing load doubleword operation instead of loading bytes.
    
    Tested on powerpc64 and powerpc64le.

commit dcd4cd575678c94f042c1a6b08663c648781a9eb
Author: Joseph Myers <address@hidden>
Date:   Mon Feb 6 23:23:54 2017 +0000

    Refactor some code in libm-test-driver.c.
    
    Splitting libm tests by function will mean about a thousand such tests
    built separately instead of the present nine (plus vector variants).
    
    When this is done, it's desirable to avoid needing to build all the
    test infrastructure so many times.  Also, simply including
    libm-test-driver.c as-is into per-function tests doesn't actually
    work, because the various check_* functions are not used by all tests
    and so generate errors for unused static functions.
    
    Although some pieces of infrastructure depend on the type being tested
    while others don't, building once per type seems the simplest
    approach.  This patch makes changes to libm-test-driver.c in
    preparation for that.  Various cases where functions directly use
    macros such as TEST_ERRNO (that may vary depending on things other
    than the type under test) are changed to use variables initialized
    using those macros, while most of the code in main is moved out to
    functions libm_test_init and libm_test_fini.
    
    The idea is that all the functions in libm-test-driver.c will be moved
    out in a subsequent patch to be built once per type (and be no longer
    static when they are used from per-function tests), while
    libm-test-driver.c remains containing definitions of various variables
    (no longer static, of course, because they'll be used in the per-type
    code) and the main function.  Declarations / macros relevant to both
    the once-per-type code and the per-function tests will go in a shared
    header.
    
    Tested for x86_64.
    
        * math/libm-test-driver.c (flag_test_errno): New variable.
        (flag_test_exceptions): Likewise.
        (flag_test_finite): Likewise.
        (flag_test_inline): Likewise.
        (flag_test_mathvec): Likewise.
        (test_msg): Likewise.
        (ulp_idx): Likewise.
        (qtype_str): Likewise.
        (ULP_IDX): Remove macro.
        (QTYPE_STR): Likewise.
        (find_ulps): Use ulp_idx not ULP_IDX.
        (print_function_ulps): Use qtype_str, printed with %s, not
        QTYPE_STR, printed with concatentation to format string.
        (print_complex_function_ulps): Likewise.
        (test_exceptions): Use flag_test_exceptions not TEST_EXCEPTIONS.
        (test_errno): Use flag_test_errno not TEST_ERRNO.
        (enable_test): Use flag_test_inline, flag_test_finite and
        flag_test_mathvec instead of TEST_INLINE, TEST_FINITE and
        TEST_MATHVEC.
        (libm_test_init): New function.  Factored out of main.
        (libm_test_finish): Likewise.
        (main): Call libm_test_init and libm_test_finish and move most
        code to those functions.

commit a622c2db5511e9633870e3ced9fb2406e4ebdb09
Author: Joseph Myers <address@hidden>
Date:   Mon Feb 6 23:07:22 2017 +0000

    Move libm-test TEST_MSG definitions to libm-test-driver.c.
    
    Various files using the libm-test infrastructure define a TEST_MSG
    macro with an informal description of the tests being run.
    
    This patch moves this macro to libm-test-driver.c (the definition
    depending on other macros already defined), so files specific to
    (type, choice of whether to test inline functions or finite-math-only
    functions, vector length) no longer need to define it.  This is in
    preparation for replacing files such as test-float.c with per-function
    test-float-<func>.c etc. automatically generated in the build
    directory when tests are run.
    
    Tested for x86_64.
    
        * math/libm-test-driver.c (STRX): New macro.
        (STR): Likewise.
        (STR_FLOAT): Likewise.
        (STR_VEC_LEN): Likewise.
        (TEST_MSG): Likewise.  Define here instead of expecting to be
        defined by including file.
        * math/test-double-finite.c (TEST_MSG): Remove macro.
        * math/test-double-vlen2.h (TEST_MSG): Likewise.
        * math/test-double-vlen4.h (TEST_MSG): Likewise.
        * math/test-double-vlen8.h (TEST_MSG): Likewise.
        * math/test-double.c (TEST_MSG): Likewise.
        * math/test-float-finite.c (TEST_MSG): Likewise.
        * math/test-float-vlen16.h (TEST_MSG): Likewise.
        * math/test-float-vlen4.h (TEST_MSG): Likewise.
        * math/test-float-vlen8.h (TEST_MSG): Likewise.
        * math/test-float.c (TEST_MSG): Likewise.
        * math/test-idouble.c (TEST_MSG): Likewise.
        * math/test-ifloat.c (TEST_MSG): Likewise.
        * math/test-ildouble.c (TEST_MSG): Likewise.
        * math/test-ldouble-finite.c (TEST_MSG): Likewise.
        * math/test-ldouble.c (TEST_MSG): Likewise.

commit 5cbb58493df391ac6712ac6f078569ccb96f3568
Author: Joseph Myers <address@hidden>
Date:   Mon Feb 6 18:57:25 2017 +0000

    Split libm-test.inc by function.
    
    Continuing the process of splitting up libm tests into more reasonably
    sized units, this patch splits libm-test.inc into 121 separate
    libm-test-<function>.inc files, one per array of test data.  (There
    are 126 libm *_test functions, but five of those are for functions
    that are aliases for test purposes and so share arrays of test data.)
    
    In the present patch, the 121 files get processed separately by
    gen-libm-test.pl, each using only the auto-libm-test-out-<function>
    file that is relevant (/dev/null for functions not using
    auto-libm-test-* at all).  This effectively eliminates the
    serialization on running gen-libm-test.pl.  However, the resulting .c
    files still all get #included together, so compiling the limited
    number of libm tests using libm-test.inc may still act as a
    serialization point (the compilations still all have 40 MB of code to
    process).  libm-test.inc doesn't actually have anything in it any more
    that needs gen-libm-test.pl processing, but is left as a .inc file
    that gets processed to produce a .c file, rather than being renamed,
    since the intent of this patch is as an intermediate step before
    libm-test.inc gets removed and tests get compiled separately for each
    function being tested.
    
    Tested for x86_64.
    
        * math/libm-test.inc: Move all tests of individual functions to
        libm-test-*.inc and #include libm-test-*.c files.
        (acos_test_data): Remove.
        (acos_test): Likewise.
        (acosh_test_data): Likewise.
        (acosh_test): Likewise.
        (asin_test_data): Likewise.
        (asin_test): Likewise.
        (asinh_test_data): Likewise.
        (asinh_test): Likewise.
        (atan_test_data): Likewise.
        (atan_test): Likewise.
        (atanh_test_data): Likewise.
        (atanh_test): Likewise.
        (atan2_test_data): Likewise.
        (atan2_test): Likewise.
        (cabs_test_data): Likewise.
        (cabs_test): Likewise.
        (cacos_test_data): Likewise.
        (cacos_test): Likewise.
        (cacosh_test_data): Likewise.
        (cacosh_test): Likewise.
        (canonicalize_test_data): Likewise.
        (canonicalize_test): Likewise.
        (carg_test_data): Likewise.
        (carg_test): Likewise.
        (casin_test_data): Likewise.
        (casin_test): Likewise.
        (casinh_test_data): Likewise.
        (casinh_test): Likewise.
        (catan_test_data): Likewise.
        (catan_test): Likewise.
        (catanh_test_data): Likewise.
        (catanh_test): Likewise.
        (cbrt_test_data): Likewise.
        (cbrt_test): Likewise.
        (ccos_test_data): Likewise.
        (ccos_test): Likewise.
        (ccosh_test_data): Likewise.
        (ccosh_test): Likewise.
        (ceil_test_data): Likewise.
        (ceil_test): Likewise.
        (cexp_test_data): Likewise.
        (cexp_test): Likewise.
        (cimag_test_data): Likewise.
        (cimag_test): Likewise.
        (clog_test_data): Likewise.
        (clog_test): Likewise.
        (clog10_test_data): Likewise.
        (clog10_test): Likewise.
        (conj_test_data): Likewise.
        (conj_test): Likewise.
        (copysign_test_data): Likewise.
        (copysign_test): Likewise.
        (cos_test_data): Likewise.
        (cos_test): Likewise.
        (cosh_test_data): Likewise.
        (cosh_test): Likewise.
        (cpow_test_data): Likewise.
        (cpow_test): Likewise.
        (cproj_test_data): Likewise.
        (cproj_test): Likewise.
        (creal_test_data): Likewise.
        (creal_test): Likewise.
        (csin_test_data): Likewise.
        (csin_test): Likewise.
        (csinh_test_data): Likewise.
        (csinh_test): Likewise.
        (csqrt_test_data): Likewise.
        (csqrt_test): Likewise.
        (ctan_test_data): Likewise.
        (ctan_test): Likewise.
        (ctanh_test_data): Likewise.
        (ctanh_test): Likewise.
        (erf_test_data): Likewise.
        (erf_test): Likewise.
        (erfc_test_data): Likewise.
        (erfc_test): Likewise.
        (exp_test_data): Likewise.
        (exp_test): Likewise.
        (exp10_test_data): Likewise.
        (exp10_test): Likewise.
        (pow10_test): Likewise.
        (exp2_test_data): Likewise.
        (exp2_test): Likewise.
        (expm1_test_data): Likewise.
        (expm1_test): Likewise.
        (fabs_test_data): Likewise.
        (fabs_test): Likewise.
        (fdim_test_data): Likewise.
        (fdim_test): Likewise.
        (floor_test_data): Likewise.
        (floor_test): Likewise.
        (fma_test_data): Likewise.
        (fma_test): Likewise.
        (fmax_test_data): Likewise.
        (fmax_test): Likewise.
        (fmaxmag_test_data): Likewise.
        (fmaxmag_test): Likewise.
        (fmin_test_data): Likewise.
        (fmin_test): Likewise.
        (fminmag_test_data): Likewise.
        (fminmag_test): Likewise.
        (fmod_test_data): Likewise.
        (fmod_test): Likewise.
        (fpclassify_test_data): Likewise.
        (fpclassify_test): Likewise.
        (frexp_test_data): Likewise.
        (frexp_test): Likewise.
        (fromfp_test_data): Likewise.
        (fromfp_test): Likewise.
        (fromfpx_test_data): Likewise.
        (fromfpx_test): Likewise.
        (getpayload_test_data): Likewise.
        (getpayload_test): Likewise.
        (hypot_test_data): Likewise.
        (hypot_test): Likewise.
        (ilogb_test_data): Likewise.
        (ilogb_test): Likewise.
        (iscanonical_test_data): Likewise.
        (iscanonical_test): Likewise.
        (iseqsig_test_data): Likewise.
        (iseqsig_test): Likewise.
        (isfinite_test_data): Likewise.
        (isfinite_test): Likewise.
        (finite_test): Likewise.
        (isgreater_test_data): Likewise.
        (isgreater_test): Likewise.
        (isgreaterequal_test_data): Likewise.
        (isgreaterequal_test): Likewise.
        (isinf_test_data): Likewise.
        (isinf_test): Likewise.
        (isless_test_data): Likewise.
        (isless_test): Likewise.
        (islessequal_test_data): Likewise.
        (islessequal_test): Likewise.
        (islessgreater_test_data): Likewise.
        (islessgreater_test): Likewise.
        (isnan_test_data): Likewise.
        (isnan_test): Likewise.
        (isnormal_test_data): Likewise.
        (isnormal_test): Likewise.
        (issignaling_test_data): Likewise.
        (issignaling_test): Likewise.
        (issubnormal_test_data): Likewise.
        (issubnormal_test): Likewise.
        (isunordered_test_data): Likewise.
        (isunordered_test): Likewise.
        (iszero_test_data): Likewise.
        (iszero_test): Likewise.
        (j0_test_data): Likewise.
        (j0_test): Likewise.
        (j1_test_data): Likewise.
        (j1_test): Likewise.
        (jn_test_data): Likewise.
        (jn_test): Likewise.
        (lgamma_test_data): Likewise.
        (lgamma_test): Likewise.
        (gamma_test): Likewise.
        (llogb_test_data): Likewise.
        (llogb_test): Likewise.
        (lrint_test_data): Likewise.
        (lrint_test): Likewise.
        (llrint_test_data): Likewise.
        (llrint_test): Likewise.
        (log_test_data): Likewise.
        (log_test): Likewise.
        (log10_test_data): Likewise.
        (log10_test): Likewise.
        (log1p_test_data): Likewise.
        (log1p_test): Likewise.
        (log2_test_data): Likewise.
        (log2_test): Likewise.
        (logb_test_data): Likewise.
        (logb_test): Likewise.
        (lround_test_data): Likewise.
        (lround_test): Likewise.
        (llround_test_data): Likewise.
        (llround_test): Likewise.
        (modf_test_data): Likewise.
        (modf_test): Likewise.
        (nearbyint_test_data): Likewise.
        (nearbyint_test): Likewise.
        (nextafter_test_data): Likewise.
        (nextafter_test): Likewise.
        (nextup_test_data): Likewise.
        (nextup_test): Likewise.
        (nextdown_test_data): Likewise.
        (nextdown_test): Likewise.
        (nexttoward_test_data): Likewise.
        (nexttoward_test): Likewise.
        (pow_test_data): Likewise.
        (pow_test): Likewise.
        (remainder_test_data): Likewise.
        (remainder_test): Likewise.
        (drem_test): Likewise.
        (remquo_test_data): Likewise.
        (remquo_test): Likewise.
        (rint_test_data): Likewise.
        (rint_test): Likewise.
        (round_test_data): Likewise.
        (round_test): Likewise.
        (roundeven_test_data): Likewise.
        (roundeven_test): Likewise.
        (scalb_test_data): Likewise.
        (scalb_test): Likewise.
        (scalbn_test_data): Likewise.
        (scalbn_test): Likewise.
        (ldexp_test): Likewise.
        (scalbln_test_data): Likewise.
        (scalbln_test): Likewise.
        (setpayload_test_data): Likewise.
        (setpayload_test): Likewise.
        (setpayloadsig_test_data): Likewise.
        (setpayloadsig_test): Likewise.
        (signbit_test_data): Likewise.
        (signbit_test): Likewise.
        (sin_test_data): Likewise.
        (sin_test): Likewise.
        (sincos_test_data): Likewise.
        (sincos_test): Likewise.
        (sinh_test_data): Likewise.
        (sinh_test): Likewise.
        (sqrt_test_data): Likewise.
        (sqrt_test): Likewise.
        (tan_test_data): Likewise.
        (tan_test): Likewise.
        (tanh_test_data): Likewise.
        (tanh_test): Likewise.
        (tgamma_test_data): Likewise.
        (tgamma_test): Likewise.
        (totalorder_test_data): Likewise.
        (totalorder_test): Likewise.
        (totalordermag_test_data): Likewise.
        (totalordermag_test): Likewise.
        (trunc_test_data): Likewise.
        (trunc_test): Likewise.
        (ufromfp_test_data): Likewise.
        (ufromfp_test): Likewise.
        (ufromfpx_test_data): Likewise.
        (ufromfpx_test): Likewise.
        (y0_test_data): Likewise.
        (y0_test): Likewise.
        (y1_test_data): Likewise.
        (y1_test): Likewise.
        (yn_test_data): Likewise.
        (yn_test): Likewise.
        (significand_test_data): Likewise.
        (significand_test): Likewise.
        * math/Makefile (auto-libm-test-out-files): Remove variable.
        (libm-test-funcs-noauto): New variable.
        (libm-test-funcs-all): Likewise.
        (libm-test-c-auto): Likewise.
        (libm-test-c-noauto): Likewise.
        (libm-tests-generated): Add $(libm-test-c-auto) and
        $(libm-test-c-noauto).
        (generated): Do not add auto-libm-test-out.
        (libm-test-c-auto-obj): New variable.
        (libm-test-c-noauto-obj): Likewise.
        ($(objpfx)libm-test.c): Do not generate or use auto-libm-test-out.
        ($(libm-test-c-noauto-obj)): New static pattern rule.
        ($(libm-test-c-auto-obj)): Likewise.
        (libm-test-incs): New variable.
        ($(objpfx)libm-have-vector-test.h): Depend on $(libm-test-incs)
        and pass it to gen-libm-have-vector-test.sh.
        * math/gen-libm-have-vector-test.sh: Expect list of .inc files to
        be passed on command line.
        * math/libm-test-acos.inc: New file.  Content from
        math/libm-test.inc.
        * math/libm-test-acosh.inc: Likewise.
        * math/libm-test-asin.inc: Likewise.
        * math/libm-test-asinh.inc: Likewise.
        * math/libm-test-atan.inc: Likewise.
        * math/libm-test-atan2.inc: Likewise.
        * math/libm-test-atanh.inc: Likewise.
        * math/libm-test-cabs.inc: Likewise.
        * math/libm-test-cacos.inc: Likewise.
        * math/libm-test-cacosh.inc: Likewise.
        * math/libm-test-canonicalize.inc: Likewise.
        * math/libm-test-carg.inc: Likewise.
        * math/libm-test-casin.inc: Likewise.
        * math/libm-test-casinh.inc: Likewise.
        * math/libm-test-catan.inc: Likewise.
        * math/libm-test-catanh.inc: Likewise.
        * math/libm-test-cbrt.inc: Likewise.
        * math/libm-test-ccos.inc: Likewise.
        * math/libm-test-ccosh.inc: Likewise.
        * math/libm-test-ceil.inc: Likewise.
        * math/libm-test-cexp.inc: Likewise.
        * math/libm-test-cimag.inc: Likewise.
        * math/libm-test-clog.inc: Likewise.
        * math/libm-test-clog10.inc: Likewise.
        * math/libm-test-conj.inc: Likewise.
        * math/libm-test-copysign.inc: Likewise.
        * math/libm-test-cos.inc: Likewise.
        * math/libm-test-cosh.inc: Likewise.
        * math/libm-test-cpow.inc: Likewise.
        * math/libm-test-cproj.inc: Likewise.
        * math/libm-test-creal.inc: Likewise.
        * math/libm-test-csin.inc: Likewise.
        * math/libm-test-csinh.inc: Likewise.
        * math/libm-test-csqrt.inc: Likewise.
        * math/libm-test-ctan.inc: Likewise.
        * math/libm-test-ctanh.inc: Likewise.
        * math/libm-test-erf.inc: Likewise.
        * math/libm-test-erfc.inc: Likewise.
        * math/libm-test-exp.inc: Likewise.
        * math/libm-test-exp10.inc: Likewise.
        * math/libm-test-exp2.inc: Likewise.
        * math/libm-test-expm1.inc: Likewise.
        * math/libm-test-fabs.inc: Likewise.
        * math/libm-test-fdim.inc: Likewise.
        * math/libm-test-floor.inc: Likewise.
        * math/libm-test-fma.inc: Likewise.
        * math/libm-test-fmax.inc: Likewise.
        * math/libm-test-fmaxmag.inc: Likewise.
        * math/libm-test-fmin.inc: Likewise.
        * math/libm-test-fminmag.inc: Likewise.
        * math/libm-test-fmod.inc: Likewise.
        * math/libm-test-fpclassify.inc: Likewise.
        * math/libm-test-frexp.inc: Likewise.
        * math/libm-test-fromfp.inc: Likewise.
        * math/libm-test-fromfpx.inc: Likewise.
        * math/libm-test-getpayload.inc: Likewise.
        * math/libm-test-hypot.inc: Likewise.
        * math/libm-test-ilogb.inc: Likewise.
        * math/libm-test-iscanonical.inc: Likewise.
        * math/libm-test-iseqsig.inc: Likewise.
        * math/libm-test-isfinite.inc: Likewise.
        * math/libm-test-isgreater.inc: Likewise.
        * math/libm-test-isgreaterequal.inc: Likewise.
        * math/libm-test-isinf.inc: Likewise.
        * math/libm-test-isless.inc: Likewise.
        * math/libm-test-islessequal.inc: Likewise.
        * math/libm-test-islessgreater.inc: Likewise.
        * math/libm-test-isnan.inc: Likewise.
        * math/libm-test-isnormal.inc: Likewise.
        * math/libm-test-issignaling.inc: Likewise.
        * math/libm-test-issubnormal.inc: Likewise.
        * math/libm-test-isunordered.inc: Likewise.
        * math/libm-test-iszero.inc: Likewise.
        * math/libm-test-j0.inc: Likewise.
        * math/libm-test-j1.inc: Likewise.
        * math/libm-test-jn.inc: Likewise.
        * math/libm-test-lgamma.inc: Likewise.
        * math/libm-test-llogb.inc: Likewise.
        * math/libm-test-llrint.inc: Likewise.
        * math/libm-test-llround.inc: Likewise.
        * math/libm-test-log.inc: Likewise.
        * math/libm-test-log10.inc: Likewise.
        * math/libm-test-log1p.inc: Likewise.
        * math/libm-test-log2.inc: Likewise.
        * math/libm-test-logb.inc: Likewise.
        * math/libm-test-lrint.inc: Likewise.
        * math/libm-test-lround.inc: Likewise.
        * math/libm-test-modf.inc: Likewise.
        * math/libm-test-nearbyint.inc: Likewise.
        * math/libm-test-nextafter.inc: Likewise.
        * math/libm-test-nextdown.inc: Likewise.
        * math/libm-test-nexttoward.inc: Likewise.
        * math/libm-test-nextup.inc: Likewise.
        * math/libm-test-pow.inc: Likewise.
        * math/libm-test-remainder.inc: Likewise.
        * math/libm-test-remquo.inc: Likewise.
        * math/libm-test-rint.inc: Likewise.
        * math/libm-test-round.inc: Likewise.
        * math/libm-test-roundeven.inc: Likewise.
        * math/libm-test-scalb.inc: Likewise.
        * math/libm-test-scalbln.inc: Likewise.
        * math/libm-test-scalbn.inc: Likewise.
        * math/libm-test-setpayload.inc: Likewise.
        * math/libm-test-setpayloadsig.inc: Likewise.
        * math/libm-test-signbit.inc: Likewise.
        * math/libm-test-significand.inc: Likewise.
        * math/libm-test-sin.inc: Likewise.
        * math/libm-test-sincos.inc: Likewise.
        * math/libm-test-sinh.inc: Likewise.
        * math/libm-test-sqrt.inc: Likewise.
        * math/libm-test-tan.inc: Likewise.
        * math/libm-test-tanh.inc: Likewise.
        * math/libm-test-tgamma.inc: Likewise.
        * math/libm-test-totalorder.inc: Likewise.
        * math/libm-test-totalordermag.inc: Likewise.
        * math/libm-test-trunc.inc: Likewise.
        * math/libm-test-ufromfp.inc: Likewise.
        * math/libm-test-ufromfpx.inc: Likewise.
        * math/libm-test-y0.inc: Likewise.
        * math/libm-test-y1.inc: Likewise.
        * math/libm-test-yn.inc: Likewise.
        * math/README.libm-test: Update.

commit 4f1bc131db81042e8e8d1f829ed18e28d9c56b58
Author: Joseph Myers <address@hidden>
Date:   Mon Feb 6 18:41:20 2017 +0000

    Split auto-libm-test-out by function.
    
    math/auto-libm-test-out is, at over 30 MB, by far the largest file in
    the glibc source tree.  This patch splits it by function, so reducing
    it to auto-libm-test-out-<func> files that are all under 5 MB in size.
    
    This is preliminary to splitting up libm-test.inc as well so that each
    function's tests can also be processed separately by
    gen-libm-test.pl.  As a preliminary patch it doesn't actually
    implement that step; rather, all the separate files get concatenated
    by the Makefile to produce the monolithic auto-libm-test-out file
    again as an input to gen-libm-test.pl.  (The concatentation is
    identical to the file in the source tree before this patch.)
    
    Even this preliminary step, however, is of use independent of
    splitting up libm-test.inc: some tests for csin and csinh have not
    been moved to auto-libm-test-in because they result in
    auto-libm-test-out generation taking several minutes rather than a few
    seconds (all released MPC versions are very slow for certain sin /
    sinh inputs; there are some old improvements in MPC mainline which
    should eventually become MPC 1.1, but the complex inverse trig and
    hyperbolic functions are slow even in MPC mainline and have yet to be
    moved to auto-libm-test-in at all), and it seems much more reasonable
    to add such inputs to auto-libm-test-in when it will only slow down
    regeneration for particular functions than when it will slow down
    regeneration globally.
    
    gen-auto-libm-tests still parses the whole input file, but only
    generates output for the requested function.  This ensures bad syntax
    in the file is always detected, and parsing the whole file is quick;
    it's output generation that is comparatively slow for some functions.
    
    Tested for x86_64.
    
        * math/gen-auto-libm-tests.c: Update comment about use of program.
        (generate_output): Add argument FUNCTION.
        (main): Require extra argument.  Pass function name to
        generate_output.
        * math/Makefile (generated): Add auto-libm-test-out.
        (libm-test-funcs-auto): New variable.
        (auto-libm-test-out-files): New variable.
        ($(objpfx)libm-test.c): Depend on $(auto-libm-test-out-files).
        Concatenate those files to form $(objpfx)auto-libm-test-out and
        use it as input to gen-libm-test.pl.
        * math/README.libm-test: Update.
        * math/auto-libm-test-out: Remove.
        * math/auto-libm-test-out-acos: New generated file.
        * math/auto-libm-test-out-acosh: Likewise.
        * math/auto-libm-test-out-asin: Likewise.
        * math/auto-libm-test-out-asinh: Likewise.
        * math/auto-libm-test-out-atan: Likewise.
        * math/auto-libm-test-out-atan2: Likewise.
        * math/auto-libm-test-out-atanh: Likewise.
        * math/auto-libm-test-out-cabs: Likewise.
        * math/auto-libm-test-out-carg: Likewise.
        * math/auto-libm-test-out-cbrt: Likewise.
        * math/auto-libm-test-out-ccos: Likewise.
        * math/auto-libm-test-out-ccosh: Likewise.
        * math/auto-libm-test-out-cexp: Likewise.
        * math/auto-libm-test-out-clog: Likewise.
        * math/auto-libm-test-out-clog10: Likewise.
        * math/auto-libm-test-out-cos: Likewise.
        * math/auto-libm-test-out-cosh: Likewise.
        * math/auto-libm-test-out-cpow: Likewise.
        * math/auto-libm-test-out-csin: Likewise.
        * math/auto-libm-test-out-csinh: Likewise.
        * math/auto-libm-test-out-csqrt: Likewise.
        * math/auto-libm-test-out-ctan: Likewise.
        * math/auto-libm-test-out-ctanh: Likewise.
        * math/auto-libm-test-out-erf: Likewise.
        * math/auto-libm-test-out-erfc: Likewise.
        * math/auto-libm-test-out-exp: Likewise.
        * math/auto-libm-test-out-exp10: Likewise.
        * math/auto-libm-test-out-exp2: Likewise.
        * math/auto-libm-test-out-expm1: Likewise.
        * math/auto-libm-test-out-fma: Likewise.
        * math/auto-libm-test-out-hypot: Likewise.
        * math/auto-libm-test-out-j0: Likewise.
        * math/auto-libm-test-out-j1: Likewise.
        * math/auto-libm-test-out-jn: Likewise.
        * math/auto-libm-test-out-lgamma: Likewise.
        * math/auto-libm-test-out-log: Likewise.
        * math/auto-libm-test-out-log10: Likewise.
        * math/auto-libm-test-out-log1p: Likewise.
        * math/auto-libm-test-out-log2: Likewise.
        * math/auto-libm-test-out-pow: Likewise.
        * math/auto-libm-test-out-sin: Likewise.
        * math/auto-libm-test-out-sincos: Likewise.
        * math/auto-libm-test-out-sinh: Likewise.
        * math/auto-libm-test-out-sqrt: Likewise.
        * math/auto-libm-test-out-tan: Likewise.
        * math/auto-libm-test-out-tanh: Likewise.
        * math/auto-libm-test-out-tgamma: Likewise.
        * math/auto-libm-test-out-y0: Likewise.
        * math/auto-libm-test-out-y1: Likewise.
        * math/auto-libm-test-out-yn: Likewise.

commit 5cd81881e221d2943ca41b2da7bb87c0ede3386b
Author: Joseph Myers <address@hidden>
Date:   Mon Feb 6 18:28:33 2017 +0000

    Eliminate libm-test.stmp.
    
    math/Makefile uses libm-test.stmp to handle dependencies involving
    multiple generated files all generated by a single sequence of
    commands in a single Makefile rule.
    
    Having separated the libm-test-ulps.h and libm-test.c generation into
    separate runs of gen-libm-test.pl, there is now no need for a single
    rule to generate multiple target files; each of the three target files
    involved can be generated by a separate Makefile rule, meaning normal
    dependencies on the individual files can be used and so libm-test.stmp
    is not needed at all.  This patch does just that, eliminating the
    .stmp file, in further preparation for when there are many separate
    libm-test-<func>.c files generated from libm-test-<func>.inc and the
    dependencies are on just the relevant .c file in each case.
    
    Tested for x86_64.
    
        * math/Makefile (generated): Do not include libm-test.stmp.
        ($(addprefix $(objpfx), $(libm-tests-generated))): Do not depend
        on $(objpfx)libm-test.stmp.
        ($(objpfx)libm-test.stmp): Remove rule.
        ($(objpfx)libm-test-ulps.h): New rule.
        ($(objpfx)libm-test.c): Likewise.
        ($(objpfx)libm-have-vector-test.h): Likewise.
        ($(addprefix $(objpfx), $(libm-tests.o)): Depend directly on
        individual generated files, not libm-test.stmp.

commit 7e1e68b45c4f2e048213cffa8ccd42a1e5c4fec6
Author: Joseph Myers <address@hidden>
Date:   Mon Feb 6 18:20:15 2017 +0000

    Rework gen-libm-test.pl input/output handling.
    
    This patch reworks how input and output files are specified for
    gen-libm-test.pl.
    
    Previously, the script had names of various inputs and outputs
    hardcoded, with a -o option to specify an output directory.  This
    patch replaces this with all inputs and outputs being specified
    explicitly as the arguments of options passed to the script.  Outputs
    are only generated if the relevant option is passed, and only the
    processing required for the indicated outputs is done.  The Makefile
    is made to pass options for generating libm-test-ulps.h in a separate
    invocation of gen-libm-test.pl from that generating libm-test.c.
    
    This is all in preparation for splitting up libm-test.inc and
    auto-libm-test-out and running tests separately for each function,
    when gen-libm-test.pl will be run separately for each function to
    generate the .c file but only once to generate libm-test-ulps.h (and
    those runs will be able to be in parallel).
    
    Tested for x86_64.  The generated libm-test.c and libm-test-ulps.h are
    identical before and after the patch.  Also tested the "make
    regen-ulps" case.
    
        * math/gen-libm-test.pl ($output_dir): Remove variable.
        ($srcdir): Likewise.
        ($opt_a): New variable.
        ($opt_c): Likewise.
        ($opt_C): Likewise.
        ($opt_H): Likewise.
        (-n): Make option take argument and use it as NewUlps output.
        (-a): New option.  Use its argument for auto-libm-test-out input.
        (-c): New option.  Use its argument for libm-test.inc input.
        (-C): New option.  Use its argument for libm-test.c output.
        (-H): New option.  Use its argument for libm-test-ulps.h output.
        (top level): Only process inputs needed to generate outputs
        specified by command-line options.  Only generate outputs
        specified by command-line options.
        * math/README.libm-test: Update example gen-libm-test.pl command.
        * math/Makefile ($(objpfx)libm-test.stmp): Update gen-libm-test.pl
        commands.
        (regen-ulps): Likewise.

commit c7a37ad352c90d798d138b9f83e0333c78d08410
Author: Wilco Dijkstra <address@hidden>
Date:   Mon Feb 6 18:14:16 2017 +0000

    As a minor cleanup remove the (r)index defines from include/string.h as
    they are only used internally in a few places.  Rename all uses that
    occur in GLIBC.
    
        * hurd/path-lookup.c (file_name_path_scan): Rename index to strchr.
        * include/string.h (index): Remove define.
        (rindex): Likewise.
        * misc/getttyent.c (__getttyent): Rename index to strchr.
        * misc/ttyslot.c (ttyslot): Rename rindex to strrchr.
        * sunrpc/rpc_main.c (mkfile_output): Likewise.

commit 5a68e857bf1b64c2576bbf32429aed5162e90bb9
Author: Joseph Myers <address@hidden>
Date:   Mon Feb 6 18:12:16 2017 +0000

    Move non-function-specific parts of libm-test.inc to separate file.
    
    libm-test.inc contains both test infrastructure and tests of
    individual functions.
    
    This patch moves the infrastructure to a separate file
    libm-test-driver.c.  This is in preparation for splitting the tests of
    individual functions into separate source files, which will be
    processed individually by gen-libm-test.pl (so e.g. libm-test-acos.inc
    and auto-libm-test-out-acos will be processed by gen-libm-test.pl to
    produce libm-test-acos.c, and files such as test-double-acos.c will be
    generated by the Makefile to include appropriate headers,
    libm-test-driver.c and libm-test-acos.c so tests of each function get
    run separately).
    
    It is no doubt possible to split things up further, so that functions
    not depending on the type being tested only get compiled once and most
    of those depending on the type being tested get compiled once per type
    (rather than separately for variants such as inline / no-inline, and
    separately for each function being tested after that split), but this
    rearrangement as-is seems a useful incremental step towards splitting
    these tests by function.
    
        * math/libm-test-driver.c: New file.  Based on math/libm-test.inc.
        * math/libm-test.inc: Move all contents, other than tests of
        individual functions, to libm-test-driver.c.
        [!FE_TONEAREST] (FE_TONEAREST): Move to libm-test-driver.c.
        [!FE_TOWARDZERO] (FE_TOWARDZERO): Likewise.
        [!FE_UPWARD] (FE_UPWARD): Likewise.
        [!FE_DOWNWARD] (FE_DOWNWARD): Likewise.
        (NO_EXCEPTION): Likewise.
        (INVALID_EXCEPTION): Likewise.
        (DIVIDE_BY_ZERO_EXCEPTION): Likewise.
        (OVERFLOW_EXCEPTION): Likewise.
        (UNDERFLOW_EXCEPTION): Likewise.
        (INEXACT_EXCEPTION): Likewise.
        (INVALID_EXCEPTION_OK): Likewise.
        (DIVIDE_BY_ZERO_EXCEPTION_OK): Likewise.
        (OVERFLOW_EXCEPTION_OK): Likewise.
        (UNDERFLOW_EXCEPTION_OK): Likewise.
        (NO_INEXACT_EXCEPTION): Likewise.
        (EXCEPTIONS_OK): Likewise.
        (IGNORE_ZERO_INF_SIGN): Likewise.
        (TEST_NAN_SIGN): Likewise.
        (TEST_NAN_PAYLOAD): Likewise.
        (NO_TEST_INLINE): Likewise.
        (XFAIL_TEST): Likewise.
        (ERRNO_UNCHANGED): Likewise.
        (ERRNO_EDOM): Likewise.
        (ERRNO_ERANGE): Likewise.
        (IGNORE_RESULT): Likewise.
        (NON_FINITE): Likewise.
        (TEST_SNAN): Likewise.
        (NO_TEST_MATHVEC): Likewise.
        (TEST_NAN_PAYLOAD_CANONICALIZE): Likewise.
        (__CONCATX): Likewise.
        (TYPE_MIN): Likewise.
        (TYPE_TRUE_MIN): Likewise.
        (TYPE_MAX): Likewise.
        (MIN_EXP): Likewise.
        (MAX_EXP): Likewise.
        (MANT_DIG): Likewise.
        (FSTR_MAX): Likewise.
        (ULP_IDX): Likewise.
        (QTYPE_STR): Likewise.
        (TEST_COND_binary32): Likewise.
        (TEST_COND_binary64): Likewise.
        (TEST_COND_binary128): Likewise.
        (TEST_COND_ibm128): Likewise.
        (TEST_COND_intel96): Likewise.
        (TEST_COND_m68k96): Likewise.
        (TEST_COND_ibm128_libgcc): Likewise.
        (XFAIL_IBM128_LIBGCC): Likewise.
        (PAYLOAD_DIG): Likewise.
        (UNDERFLOW_EXCEPTION_FLOAT): Likewise.
        (UNDERFLOW_EXCEPTION_OK_FLOAT): Likewise.
        (UNDERFLOW_EXCEPTION_DOUBLE): Likewise.
        (UNDERFLOW_EXCEPTION_OK_DOUBLE): Likewise.
        (UNDERFLOW_EXCEPTION_LDOUBLE_IBM): Likewise.
        (UNDERFLOW_EXCEPTION_BEFORE_ROUNDING): Likewise.
        (TEST_COND_long32): Likewise.
        (TEST_COND_long64): Likewise.
        (TEST_COND_before_rounding): Likewise.
        (TEST_COND_after_rounding): Likewise.
        (lit_pi_3_m_4_d): Likewise.
        (lit_pi_3_m_4_ln10_m_d): Likewise.
        (lit_pi_2_ln10_m_d): Likewise.
        (lit_pi_4_ln10_m_d): Likewise.
        (lit_pi_ln10_d): Likewise.
        (lit_pi_2_d): Likewise.
        (lit_pi_4_d): Likewise.
        (lit_pi): Likewise.
        (lit_e): Likewise.
        (ulps_file_name): Likewise.
        (ulps_file): Likewise.
        (output_ulps): Likewise.
        (output_dir): Likewise.
        (noErrors): Likewise.
        (noTests): Likewise.
        (noExcTests): Likewise.
        (noErrnoTests): Likewise.
        (verbose): Likewise.
        (output_max_error): Likewise.
        (output_points): Likewise.
        (ignore_max_ulp): Likewise.
        (plus_zero): Likewise.
        (minus_zero): Likewise.
        (plus_infty): Likewise.
        (minus_infty): Likewise.
        (qnan_value_pl): Likewise.
        (qnan_value): Likewise.
        (snan_value_pl): Likewise.
        (snan_value): Likewise.
        (max_value): Likewise.
        (min_value): Likewise.
        (min_subnorm_value): Likewise.
        (snan_value_ld): Likewise.
        (max_error): Likewise.
        (real_max_error): Likewise.
        (imag_max_error): Likewise.
        (prev_max_error): Likewise.
        (prev_real_max_error): Likewise.
        (prev_imag_max_error): Likewise.
        (max_valid_error): Likewise.
        (TYPE_DECIMAL_DIG): Likewise.
        (TYPE_HEX_DIG): Likewise.
        (fmt_ftostr): Likewise.
        (compare_ulp_data): Likewise.
        (find_ulps): Likewise.
        (init_max_error): Likewise.
        (set_max_error): Likewise.
        (print_float): Likewise.
        (print_screen): Likewise.
        (print_screen_max_error): Likewise.
        (update_stats): Likewise.
        (print_function_ulps): Likewise.
        (print_complex_function_ulps): Likewise.
        (fpstack_test): Likewise.
        (print_max_error): Likewise.
        (print_complex_max_error): Likewise.
        (test_single_exception): Likewise.
        (test_exceptions): Likewise.
        (test_single_errno): Likewise.
        (test_errno): Likewise.
        (ULPDIFF): Likewise.
        (ulp): Likewise.
        (check_float_internal): Likewise.
        (check_float): Likewise.
        (check_complex): Likewise.
        (check_int): Likewise.
        (check_long): Likewise.
        (check_bool): Likewise.
        (check_longlong): Likewise.
        (check_intmax_t): Likewise.
        (check_uintmax_t): Likewise.
        (enable_test): Likewise.
        (struct test_f_f_data): Likewise.
        (struct test_ff_f_data): Likewise.
        (struct test_fj_f_data): Likewise.
        (struct test_fi_f_data): Likewise.
        (struct test_fl_f_data): Likewise.
        (struct test_if_f_data): Likewise.
        (struct test_fff_f_data): Likewise.
        (struct test_fiu_M_data): Likewise.
        (struct test_fiu_U_data): Likewise.
        (struct test_c_f_data): Likewise.
        (struct test_f_f1_data): Likewise.
        (struct test_fF_f1_data): Likewise.
        (struct test_ffI_f1_data): Likewise.
        (struct test_c_c_data): Likewise.
        (struct test_cc_c_data): Likewise.
        (struct test_f_i_data): Likewise.
        (struct test_ff_i_data): Likewise.
        (struct test_f_l_data): Likewise.
        (struct test_f_L_data): Likewise.
        (struct test_fFF_11_data): Likewise.
        (struct test_Ff_b1_data): Likewise.
        (IF_ROUND_INIT_): Likewise.
        (IF_ROUND_INIT_FE_DOWNWARD): Likewise.
        (IF_ROUND_INIT_FE_TONEAREST): Likewise.
        (IF_ROUND_INIT_FE_TOWARDZERO): Likewise.
        (IF_ROUND_INIT_FE_UPWARD): Likewise.
        (ROUND_RESTORE_): Likewise.
        (ROUND_RESTORE_FE_DOWNWARD): Likewise.
        (ROUND_RESTORE_FE_TONEAREST): Likewise.
        (ROUND_RESTORE_FE_TOWARDZERO): Likewise.
        (ROUND_RESTORE_FE_UPWARD): Likewise.
        (RM_): Likewise.
        (RM_FE_DOWNWARD): Likewise.
        (RM_FE_TONEAREST): Likewise.
        (RM_FE_TOWARDZERO): Likewise.
        (RM_FE_UPWARD): Likewise.
        (COMMON_TEST_SETUP): Likewise.
        (EXTRA_OUTPUT_TEST_SETUP): Likewise.
        (COMMON_TEST_CLEANUP): Likewise.
        (EXTRA_OUTPUT_TEST_CLEANUP): Likewise.
        (RUN_TEST_f_f): Likewise.
        (RUN_TEST_LOOP_f_f): Likewise.
        (RUN_TEST_fp_f): Likewise.
        (RUN_TEST_LOOP_fp_f): Likewise.
        (RUN_TEST_2_f): Likewise.
        (RUN_TEST_LOOP_2_f): Likewise.
        (RUN_TEST_ff_f): Likewise.
        (RUN_TEST_LOOP_ff_f): Likewise.
        (RUN_TEST_LOOP_fj_f): Likewise.
        (RUN_TEST_fi_f): Likewise.
        (RUN_TEST_LOOP_fi_f): Likewise.
        (RUN_TEST_fl_f): Likewise.
        (RUN_TEST_LOOP_fl_f): Likewise.
        (RUN_TEST_if_f): Likewise.
        (RUN_TEST_LOOP_if_f): Likewise.
        (RUN_TEST_fff_f): Likewise.
        (RUN_TEST_LOOP_fff_f): Likewise.
        (RUN_TEST_fiu_M): Likewise.
        (RUN_TEST_LOOP_fiu_M): Likewise.
        (RUN_TEST_fiu_U): Likewise.
        (RUN_TEST_LOOP_fiu_U): Likewise.
        (RUN_TEST_c_f): Likewise.
        (RUN_TEST_LOOP_c_f): Likewise.
        (RUN_TEST_f_f1): Likewise.
        (RUN_TEST_LOOP_f_f1): Likewise.
        (RUN_TEST_fF_f1): Likewise.
        (RUN_TEST_LOOP_fF_f1): Likewise.
        (RUN_TEST_fI_f1): Likewise.
        (RUN_TEST_LOOP_fI_f1): Likewise.
        (RUN_TEST_ffI_f1_mod8): Likewise.
        (RUN_TEST_LOOP_ffI_f1_mod8): Likewise.
        (RUN_TEST_Ff_b1): Likewise.
        (RUN_TEST_LOOP_Ff_b1): Likewise.
        (RUN_TEST_Ffp_b1): Likewise.
        (RUN_TEST_LOOP_Ffp_b1): Likewise.
        (RUN_TEST_c_c): Likewise.
        (RUN_TEST_LOOP_c_c): Likewise.
        (RUN_TEST_cc_c): Likewise.
        (RUN_TEST_LOOP_cc_c): Likewise.
        (RUN_TEST_f_i): Likewise.
        (RUN_TEST_LOOP_f_i): Likewise.
        (RUN_TEST_f_i_tg): Likewise.
        (RUN_TEST_LOOP_f_i_tg): Likewise.
        (RUN_TEST_ff_b): Likewise.
        (RUN_TEST_LOOP_ff_b): Likewise.
        (RUN_TEST_ff_i_tg): Likewise.
        (RUN_TEST_LOOP_ff_i_tg): Likewise.
        (RUN_TEST_f_b): Likewise.
        (RUN_TEST_LOOP_f_b): Likewise.
        (RUN_TEST_f_b_tg): Likewise.
        (RUN_TEST_LOOP_f_b_tg): Likewise.
        (RUN_TEST_f_l): Likewise.
        (RUN_TEST_LOOP_f_l): Likewise.
        (RUN_TEST_f_L): Likewise.
        (RUN_TEST_LOOP_f_L): Likewise.
        (RUN_TEST_fFF_11): Likewise.
        (RUN_TEST_LOOP_fFF_11): Likewise.
        (VEC_SUFF): Likewise.
        (STR_CONCAT): Likewise.
        (STR_CON3): Likewise.
        (HAVE_VECTOR): Likewise.
        (START): Likewise.
        (END): Likewise.
        (END_COMPLEX): Likewise.
        (ALL_RM_TEST): Likewise.
        (matherr): Likewise.
        (initialize): Likewise.
        (options): Likewise.
        (doc): Likewise.
        (parse_opt): Likewise.
        (argp): Likewise.
        (check_ulp): Likewise.
        (main): Likewise.
        (do_test): New function.  Call tests of individual functions
        previously called from main.

commit dd18757bd3650d5dfea8aaba37869df89ce6c17d
Author: Joseph Myers <address@hidden>
Date:   Mon Feb 6 18:02:54 2017 +0000

    Remove libm-test.inc comment listing functions tested and not tested.
    
    math/libm-test.inc has a comment listing the functions tested and not
    tested.  The list of functions tested duplicates what is immediately
    obvious from the rest of the file and adds another place to update
    when adding a function.  I've put the information about functions not
    tested on the wiki todo list; this patch removes that comment, in
    preparation for splitting tests of each function into separate .inc
    files with common code staying in a separate .c file.
    
    Tested for x86_64.
    
        * math/libm-test.inc: Remove comment listing functions tested and
        not tested.

commit 37f8abad1c7b274e66eaf2d04684bd8a7ba0bcef
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Jan 30 18:07:32 2017 -0200

    nptl: Remove COLORING_INCREMENT
    
    This patch removes the COLORING_INCREMENT define and usage on 
allocatestack.c.
    It has not been used since 564cd8b67ec487f (glibc-2.3.3) by any 
architecture.
    The idea is to simplify the code by removing obsolete code.
    
        * nptl/allocatestack.c [COLORING_INCREMENT] (nptl_ncreated): Remove.
        (allocate_stack): Remove COLORING_INCREMENT usage.
        * nptl/stack-aliasing.h (COLORING_INCREMENT). Likewise.
        * sysdeps/i386/i686/stack-aliasing.h (COLORING_INCREMENT): Likewise.

commit 2b7dc4c868553db14f439ee4b49873f6ca3ef71f
Author: Joseph Myers <address@hidden>
Date:   Mon Feb 6 17:55:59 2017 +0000

    Do not hardcode list of libm functions in libm-err-tab.pl.
    
    manual/libm-err-tab.pl contains a hardcoded list of libm functions for
    which ulps are listed in the manual, and another hardcoded list in a
    comment of functions deliberately excluded because of an expected lack
    of ulps (and the two together are not in fact an exhaustive list of
    libm functions tested through the libm-test machinery).
    
    This patch removes these hardcoded lists, so eliminating this from the
    places needing updating when a new libm function is added.  Instead,
    ulps are tabulated for functions for which they are seen in
    libm-test-ulps files, in alphabetical order.  The pseudo-function
    names such as *_downward and *_vlen* are excluded since they are
    excluded from the existing lists, and the description in the manual is
    updated to explain how those entries are excluded and if a function is
    not listed at all it does not have known errors.
    
    Tested for x86_64.
    
        * manual/libm-err-tab.pl (@all_functions): Change to
        %all_functions.  Initialize as empty.
        (parse_ulps): Add to %all_functions based on functions found in
        ulps files.  Ignore results for non-default rounding modes and
        vector functions.
        (print_platforms): Use %all_platforms.
        * manual/math.texi (Errors in Math Functions): Document omissions
        from the table.

commit 95b2e07fafddc57d818dd408e5ab1e0eb26cd9f1
Author: Joseph Myers <address@hidden>
Date:   Mon Feb 6 17:48:02 2017 +0000

    Remove before-compile setting in math/Makefile.
    
    In <https://sourceware.org/ml/libc-alpha/2015-12/msg00543.html>,
    Florian noted highly parallel builds being slowed down by
    gen-libm-test.pl running during the build, when it should only run for
    testing, not for building glibc itself.
    
    This is a consequence of libm-test.c being listed in before-compile.
    That listing in before-compile arose from the error reported in
    <https://sourceware.org/ml/libc-hacker/1999-10/msg00054.html> when
    building dependencies: at that time, dependencies were generated
    separation from compilation, so if a source file included a generated
    file it wasn't enough for the dependencies for the .o file to be
    correct, the generated file needed to be listed in before-compile.
    
    Since <https://sourceware.org/ml/libc-hacker/2003-05/msg00001.html>,
    dependencies are generated as a side-effect of compilation.  This
    means that having the right dependencies for the .o files for the
    tests fully suffices to ensure that libm-test.c is generated by the
    time it's needed; no entry in before-compile is needed.  And we indeed
    have such a dependency for all the tests using libm-test.c:
    
    $(addprefix $(objpfx), $(libm-tests.o)): $(objpfx)libm-test.stmp
    
    Thus, the before-compile definition is unnecessary, and this patch
    removes it.  (This may of course move serialization from the glibc
    build to glibc testing, but I intend to split up libm-test.inc so that
    tests for each (floating-point type, libm function) pair are built and
    run separately, which should reduce that serialization.)
    
    Tested for x86_64.
    
        * math/Makefile (before-compile): Remove.

commit 0b20e02c976ddd89a4adaa3a0c26baec3e275161
Author: Ivo Raisr <address@hidden>
Date:   Mon Feb 6 10:49:50 2017 -0200

    sparc: Remove unused assignment in __clone
    
    It is no longer needed to preserve the flags parameter to `clone' since
    the commit c579f48edba88380635ab98cb612030e3ed8691e (Remove cached
    PID/TID in clone).
    
    Testing was performed successfully on sparcv9/Linux.
    
        [BZ #21075]
        * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone): Remove
        unused assignment.
        * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone): Likewise.

commit df3a4e104fb63f96f05b29931dd83e272c2b7936
Author: Stefan Liebler <address@hidden>
Date:   Mon Feb 6 13:44:23 2017 +0100

    Add __glibc_unlikely hint in lll_trylock, lll_cond_trylock.
    
    The macros lll_trylock, lll_cond_trylock are extended by an __glibc_unlikely
    hint.  Now the trylock macros are based on the same assumption about a
    free/busy lock as lll_lock.
    With the hint gcc emits code in e.g. pthread_mutex_trylock which does
    not use jumps if the lock is free.  Without the hint it had to jump away
    if the lock is free.
    
    Tested on s390x, ppc.
    
    ChangeLog:
    
        * sysdeps/nptl/lowlevellock.h (lll_trylock, lll_cond_trylock):
        Add __glibc_unlikely hint.

commit f2d7f23a300f57e36cd849ce80a93ccbcebd9968
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Jan 5 19:43:25 2017 -0200

    Remove i686, x86_64, and powerpc strtok implementations
    
    Based on comments on previous attempt to address BZ#16640 [1],
    the idea is not support invalid use of strtok (the original
    bug report proposal).  This leader to a new strtok optimized
    strtok implementation [2].
    
    The idea of this patch is to fix BZ#16640 to align all the
    implementations to a same contract.  However, with newer strtok
    code it is better to get remove the old assembly ones instead of
    fix them.
    
    For x86 is a gain in all cases since the new implementation can
    potentially use sse2/sse42 implementation for strspn and strcspn.
    This shows a better performance on both i686 and x86_64 using
    the string benchtests.
    
    On powerpc64 the gains are mixed, where only for larger inputs
    or keys some gains are showns (based on benchtest it seems that
    it shows some gains for keys larger than 10 and inputs larger
    than 32).  I would prefer to remove the optimized implementation
    based on first code simplicity and second because some more gain
    could be optimized using a better optimized strcspn/strspn
    code (as for x86).  However if powerpc arch maintainers prefer I
    can send a v2 with the assembly code adjusted instead.
    
    Checked on x86_64-linux-gnu, i686-linux-gnu, and powerpc64le-linux-gnu.
    
        [BZ #16640]
        * sysdeps/i386/i686/strtok.S: Remove file.
        * sysdeps/i386/i686/strtok_r.S: Likewise.
        * sysdeps/i386/strtok.S: Likewise.
        * sysdeps/i386/strtok_r.S: Likewise.
        * sysdeps/powerpc/powerpc64/strtok.S: Likewise.
        * sysdeps/powerpc/powerpc64/strtok_r.S: Likewise.
        * sysdeps/x86_64/strtok.S: Likewise.
        * sysdeps/x86_64/strtok_r.S: Likewise.
    
    [1] https://sourceware.org/ml/libc-alpha/2016-10/msg00411.html
    [2] https://sourceware.org/ml/libc-alpha/2016-12/msg00461.html

commit 841a67a0ade3ea9e3d10c044524a199fa608cc7e
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Jan 13 15:24:53 2017 -0200

    Consolidate arm and mips posix_fadvise implementations
    
    As noted by c1f0601389db64d9, previous posix_fadvise consolidation
    broke on mips o32.  As stated in commit message, MIPS o32 only defines
    __NR_fadvise64 and it is behaves like __NR_fadvise64_64.
    
    This patches consolidates both ARM and mips o32 version by fixing
    the ARM used option (__NR_fadvise64_64 withouth the alignment required
    by abi) and added another option, __ASSUME_FADVISE64_AS_64_64,
    which is used on mips o32.
    
    When this option is used, posix_fadvise will use __NR_fadvise64_64
    behavior (by defining or not __ASSUME_FADVISE64_64_6ARG).  For
    mips, if __NR_fadvise64_64 is not defined, __NR_fadvise will be used.
    
    I also updated the posix_fadvise comments to explain better the
    different kernel abi used in the supported architectures.
    
    I checked with a mips o32 and verified that posix_fadvise.o is
    indeed using 7 argument syscall with the expected argument position.
    I also checked on i686-linux-gnu and arm-gnu-eabihf.
    
        * sysdeps/unix/sysv/linux/arm/posix_fadvise.c: Remove file.
        * sysdeps/unix/sysv/linux/mips/mips32/posix_fadvise.c: Likewise.
        * sysdeps/unix/sysv/linux/mips/kernel-features.h
        (__ASSUME_FADVISE64_AS_64_64): Define.
        * sysdeps/unix/sysv/linux/posix_fadvise.c [__NR_fadvise64]: Add
        !defined __ASSUME_FADVISE64_AS_64_64 to use syscall issue.
        [!__NR_fadvise64 && __ASSUME_FADVISE64_64_6ARG]: Remove
        __ALIGNMENT_ARG usage.
        [!__NR_fadvise64 && !__ASSUME_FADVISE64_64_6ARG]: Define
        __NR_fadvise64_64 if it is not defined.

commit 58557c229319a3b8d2eefdb62e7df95089eabe37
Author: Siddhesh Poyarekar <address@hidden>
Date:   Sun Feb 5 21:27:52 2017 +0530

    Open master for development

-----------------------------------------------------------------------


hooks/post-receive
-- 
glibc maintenance



reply via email to

[Prev in Thread] Current Thread [Next in Thread]