]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - NEWS
powerpc64le: Enable float128
[thirdparty/glibc.git] / NEWS
diff --git a/NEWS b/NEWS
index f0e8a1c339eeeb49f6fb891eba4b76be612819dd..027f09b8c72bf5ade0cffc82db910078cb082c36 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,9 +1,230 @@
 GNU C Library NEWS -- history of user-visible changes.
-Copyright (C) 1992-2016 Free Software Foundation, Inc.
+Copyright (C) 1992-2017 Free Software Foundation, Inc.
 See the end for copying conditions.
 
 Please send GNU C library bug reports via <http://sourceware.org/bugzilla/>
 using `glibc' in the "product" field.
+\f
+Version 2.26
+
+* 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).
+
+* 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.
+
+* The rpcgen, librpcsvc and related headers will only be built and
+  installed when glibc is configured with --enable-obsolete-rpc.
+  This allows alternative RPC implementations, like TIRPC, to be used
+  by default. Applications needing features missing from TIRPC should
+  consider the rpcsvc-proto project developed by Thorsten Kukuk (SUSE).
+
+* The NIS(+) name service modules, libnss_nis, libnss_nisplus, and
+  libnss_compat, are deprecated, and will not be built or installed by
+  default.  Replacement implementations based on TIRPC, which
+  additionally support IPv6, are available from
+  <https://github.com/thkukuk/libnss_{compat,nis,nisplus}>.
+
+* The NIS(+) support library, libnsl, is 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.
+  A replacement implementation based on TIRPC is available from
+  <https://github.com/thkukuk/libnsl>.  Like the replacement NIS(+)
+  name service modules, the replacement supports IPv6, and it can be
+  coinstalled with the compatibility shared library from glibc.
+
+* New configure option --enable-obsolete-nsl will cause libnsl's
+  headers, and the NIS(+) name service modules, to be built and
+  installed.  This option may be removed in a future release.
+
+* Extensive new collation tests for Hungarian locales based on
+  "The Rules of Hungarian Orthography, 12th edition" and the work of
+  Egmont Koblinger (Bug 18934).
+
+* 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 legacy cfree function has been removed.  Applications should use the
+  free function instead.
+
+* posix_spawnattr_setflags now supports POSIX_SPAWN_SETSID flag to create a
+  new session ID for the posix_spawn and posix_spawnp.  It is scheduled to
+  be added on next major revision of POSIX, so current support is enabled
+  with _GNU_SOURCE.
+
+* The minimum Linux kernel version that this version of the GNU C Library
+  can be used with on i[4567]86 and x86_64 is 3.2.  A Linux 3.2 or later
+  kernel was already required on all other architectures.
+
+* The obsolete <sys/ultrasound.h> header file has been removed.
+
+* The port to Native Client running on ARMv7-A (--host=arm-nacl) has been
+  removed.
+
+* <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 talk to us.
+
+* The obsolete signal constant SIGUNUSED is no longer defined by <signal.h>.
+
+* The reallocarray function has been added to libc.  It is a realloc
+  replacement with a check for integer overflow when calculating total
+  allocation size.
+
+* New preadv2 and pwritev2 has been added.  They are Linux extensions to
+  preadv and pwritev with an additional flag argument where it is possible
+  to set high priority or use O_DSYNC or O_SYNC for a specific IO operation.
+  For complete support it requires Linux kernel version 4.6, otherwise a
+  compat implementation will be used (which refuses all flags and routes it
+  to preadv or pwritev).
+
+* The stack_t type no longer has the name struct sigaltstack.  This changes
+  the C++ name mangling for interfaces involving this type.
+
+* 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.  This ensures correct synchronization
+  for the spin lock's operations and critical sections protected by a spin
+  lock.  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 tunables feature is now enabled by default.  This allows users to tweak
+  behavior of the GNU C Library using the GLIBC_TUNABLES environment variable.
+
+* The s390 specific ptrace requests are adjusted to the kernel ones.  Request 12
+  is now used for PTRACE_SINGLEBLOCK instead of PTRACE_GETREGS.  The requests
+  PTRACE_GETREGS, PTRACE_SETREGS, PTRACE_GETFPREGS and PTRACE_SETFPREGS were
+  removed as those are not supported by the s390 kernel.  The requests
+  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 were added as those are supported
+  by the s390 kernel.
+
+* The minimum GCC version that can be used to build this version of the GNU
+  C Library is GCC 4.9.  Older GCC versions, and non-GNU compilers, can
+  still be used to compile programs using the GNU C Library.
+
+* Support is added, on powerpc64le, for interfaces supporting the _Float128
+  type from ISO/IEC TS 18661-3:2015.  Most of the interfaces are taken from
+  TS 18661-3.  The type-generic macros in <math.h> support this type, but
+  those in <tgmath.h> do not.  The GNU C Library now requires GCC 6.2 or
+  later to build for powerpc64le.  When used with GCC versions before GCC
+  7, these interfaces may be used with the type under the non-standard name
+  __float128.
+
+  New <stdlib.h> functions from ISO/IEC TS 18661-3:
+
+    - String Conversion Functions: strfromf128 and strtof128.
+
+  New <math.h> features from ISO/IEC TS 18661-3:
+
+    - Very Large Number macro: HUGE_VAL_F128.
+
+    - Signaling NaN macro: SNANF128.
+
+    - Trigonometric Functions: acosf128, asinf128, atanf128, atan2f128,
+      cosf128, sinf128, tanf128.
+
+    - Hyperbolic Functions: acoshf128, asinhf128, atanhf128, coshf128,
+      sinhf128, tanhf128.
+
+    - Exponential and Logarithmic Functions: expf128, exp2f128, expm1f128,
+      frexpf128, ilogbf128, ldexpf128, llogbf128, logf128, log10f128,
+      log1pf128, log2f128, logbf128, modff128, scalbnf128, scalblnf128.
+
+    - Power and Absolute Functions: cbrtf128, fabsf128, hypotf128, powf128,
+      sqrtf128.
+
+    - Error and Gamma Functions: erff128, erfcf128, lgammaf128, tgammaf128.
+
+    - Nearest Integer Functions: ceilf128, floorf128, nearbyintf128,
+      rintf128, lrintf128, llrintf128, roundf128, lroundf128, llroundf128,
+      roundevenf128, truncf128, fromfpf128, ufromfpf128, fromfpxf128,
+      ufromfpxf128.
+
+    - Remainder Functions: fmodf128, remainderf128, remquof128.
+
+    - Manipulation Functions: copysignf128, nanf128, nextafterf128,
+      nextupf128, nextdownf128, canonicalizef128.
+
+    - Minimum, Maximum, and Positive Difference Functions: fdimf128,
+      fmaxf128, fminf128, fmaxmagf128, fminmagf128.
+
+    - Floating Multiply-Add Function: fmaf128.
+
+    - Total Order Functions: totalorderf128, totalordermagf128.
+
+    - Payload Functions: getpayloadf128, setpayloadf128, setpayloadsigf128.
+
+  New <complex.h> functions from ISO/IEC TS 18661-3:
+
+    - Trigonometric Functions: cacosf128, casinf128, catanf128, ccosf128,
+      csinf128, ctanf128.
+
+    - Hyperbolic Functions: cacoshf128, casinhf128, catanhf128, ccoshf128,
+      csinhf128, ctanhf128.
+
+    - Exponential and Logarithmic Functions: cexpf128, clogf128.
+
+    - Power and Absolute Functions: cabsf128, cpowf128, csqrtf128.
+
+    - Manipulation Functions: cargf128, cimagf128, CMPLXF128, conjf128,
+      cprojf128, crealf128.
+
+  The following <wchar.h> functions are added as GNU extensions:
+
+    - Wide String Conversion Functions: wsctof128, wcstof128_l.
+
+  The following <stdlib.h> function is added as a GNU extension:
+
+    - String Conversion Function: strtof128_l.
+
+  The following <math.h> features are added as GNU extensions:
+
+    - Predefined Mathematical Constants: 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_2_SQRTPIf128, M_SQRT2f128,
+      M_SQRT1_2f128.
+
+    - Trigonometric Function: sincosf128.
+
+    - Exponential and Logarithmic Function: exp10f128.
+
+    - Error and Gamma Function: lgammaf128_r.
+
+    - Bessel Functions: j0f128, j1f128, jnf128, y0f128, y1f128, ynf128.
+
+  The following <complex.h> function is added as a GNU extension:
+
+    - Exponential and Logarithmic Function: clog10f128.
+
+Security related changes:
+
+* The DNS stub resolver limits the advertised UDP buffer size to 1200 bytes,
+  to avoid fragmentation-based spoofing attacks.
+
+The following bugs are resolved with this release:
+
+  [The release manager will add the list generated by
+  scripts/list-fixed-bugs.py just before the release.]
+
 \f
 Version 2.25
 
@@ -14,7 +235,7 @@ Version 2.25
 
 * The feature test macro __STDC_WANT_IEC_60559_BFP_EXT__, from ISO/IEC TS
   18661-1:2014, is supported to enable declarations of functions and macros
-  from that TS.  Note that most features from that TS are not supported by
+  from that TS.  Note that not all features from that TS are supported by
   the GNU C Library.
 
 * The feature test macro __STDC_WANT_IEC_60559_FUNCS_EXT__, from ISO/IEC TS
@@ -22,6 +243,19 @@ Version 2.25
   from that TS.  Note that most features from that TS are not supported by
   the GNU C Library.
 
+* The nonstandard feature selection macros _REENTRANT and _THREAD_SAFE are
+  now treated as compatibility synonyms for _POSIX_C_SOURCE=199506L.
+  Since the GNU C Library defaults to a much newer revision of POSIX, this
+  will only affect programs that specifically request an old conformance
+  mode.  For instance, a program compiled with -std=c89 -D_REENTRANT will
+  see a change in the visible declarations, but a program compiled with
+  just -D_REENTRANT, or -std=c99 -D_POSIX_C_SOURCE=200809L -D_REENTRANT,
+  will not.
+
+  Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be
+  defined by all multithreaded code, but glibc has not required this for
+  many years.
+
 * The inclusion of <sys/sysmacros.h> by <sys/types.h> is deprecated.  This
   means that in a future release, the macros “major”, “minor”, and “makedev”
   will only be available from <sys/sysmacros.h>.
@@ -33,8 +267,8 @@ Version 2.25
   problem.
 
 * New <fenv.h> features from TS 18661-1:2014 are added to libm: the
-  fesetexcept, fetestexceptflag, fegetmode and fesetmode functions,
-  the femode_t type and the FE_DFL_MODE macro.
+  fesetexcept, fetestexceptflag, fegetmode and fesetmode functions, the
+  femode_t type and the FE_DFL_MODE and FE_SNANS_ALWAYS_SIGNAL macros.
 
 * Integer width macros from TS 18661-1:2014 are added to <limits.h>:
   CHAR_WIDTH, SCHAR_WIDTH, UCHAR_WIDTH, SHRT_WIDTH, USHRT_WIDTH, INT_WIDTH,
@@ -53,6 +287,16 @@ Version 2.25
 
   - Signaling NaN macros: SNANF, SNAN, SNANL.
 
+  - Nearest integer functions: roundeven, roundevenf, roundevenl, fromfp,
+    fromfpf, fromfpl, ufromfp, ufromfpf, ufromfpl, fromfpx, fromfpxf,
+    fromfpxl, ufromfpx, ufromfpxf, ufromfpxl.
+
+  - llogb functions: the llogb, llogbf and llogbl functions, and the
+    FP_LLOGB0 and FP_LLOGBNAN macros.
+
+  - Max-min magnitude functions: fmaxmag, fmaxmagf, fmaxmagl, fminmag,
+    fminmagf, fminmagl.
+
   - Comparison macros: iseqsig.
 
   - Classification macros: iscanonical, issubnormal, iszero.
@@ -63,11 +307,21 @@ Version 2.25
   - Canonicalize functions: canonicalize, canonicalizef, canonicalizel.
 
   - NaN functions: getpayload, getpayloadf, getpayloadl, setpayload,
-    setpayloadf, setpayloadl.
+    setpayloadf, setpayloadl, setpayloadsig, setpayloadsigf, setpayloadsigl.
 
 * The functions strfromd, strfromf, and strfroml, from ISO/IEC TS 18661-1:2014,
   are added to libc.  They convert a floating-point number into string.
 
+* Most of glibc can now be built with the stack smashing protector enabled.
+  It is recommended to build glibc with --enable-stack-protector=strong.
+  Implemented by Nick Alcock (Oracle).
+
+* The function explicit_bzero, from OpenBSD, has been added to libc.  It is
+  intended to be used instead of memset() to erase sensitive data after use;
+  the compiler will not optimize out calls to explicit_bzero even if they
+  are "unnecessary" (in the sense that no _correct_ program can observe the
+  effects of the memory clear).
+
 * On ColdFire, MicroBlaze, Nios II and SH3, the float_t type is now defined
   to float instead of double.  This does not affect the ABI of any libraries
   that are part of the GNU C Library, but may affect the ABI of other
@@ -80,6 +334,15 @@ Version 2.25
   affect the ABI of other libraries that use this type in their interfaces,
   if they are compiled or used with those options.
 
+* The getentropy and getrandom functions, and the <sys/random.h> header file
+  have been added.
+
+* The buffer size for byte-oriented stdio streams is now limited to 8192
+  bytes by default.  Previously, on Linux, the default buffer size on most
+  file systems was 4096 bytes (and thus remains unchanged), except on
+  network file systems, where the buffer size was unpredictable and could be
+  as large as several megabytes.
+
 * The <sys/quota.h> header now includes the <linux/quota.h> header.  Support
   for the Linux quota interface which predates kernel version 2.4.22 has
   been removed.
@@ -97,14 +360,19 @@ Version 2.25
   “no-ip6-dotint” had already been the default, and support for the
   “ip6-dotint” option was removed from the Internet in 2006.
 
-* The "ip6-bytestring" resolver option and the corresponding RES_NOIP6DOTINT
+* The "ip6-bytestring" resolver option and the corresponding RES_USEBSTRING
   flag from <resolv.h> have been removed.  The option relied on a
   backwards-incompatible DNS extension which was never deployed on the
   Internet.
 
-* The flags RES_AAONLY, RES_PRIMARY, RES_NOCHECKNAME, RES_KEEPTSIG defined
-  in the <resolv.h> header file have been deprecated.  They were already
-  unimplemented.
+* The flags RES_AAONLY, RES_PRIMARY, RES_NOCHECKNAME, RES_KEEPTSIG,
+  RES_BLAST defined in the <resolv.h> header file have been deprecated.
+  They were already unimplemented.
+
+* The "inet6" option in /etc/resolv.conf and the RES_USE_INET6 flag for
+  _res.flags are deprecated.  The flag was standardized in RFC 2133, but
+  removed again from the IETF name lookup interface specification in RFC
+  2553.  Applications should use getaddrinfo instead.
 
 * DNSSEC-related declarations and definitions have been removed from the
   <arpa/nameser.h> header file, and libresolv will no longer attempt to
@@ -132,18 +400,185 @@ Version 2.25
   variable for a particular architecture in the GCC source file
   'gcc/config.gcc'.
 
+* GDB pretty printers have been added for mutex and condition variable
+  structures in POSIX Threads. When installed and loaded in gdb these pretty
+  printers show various pthread variables in human-readable form when read
+  using the 'print' or 'display' commands in gdb.
+
+* Tunables feature added to allow tweaking of the runtime for an application
+  program.  This feature can be enabled with the '--enable-tunables' configure
+  flag.  The GNU C Library manual has details on usage and README.tunables has
+  instructions on adding new tunables to the library.
+
+* A new version of condition variables functions have been implemented in
+  the NPTL implementation of POSIX Threads to provide stronger ordering
+  guarantees.
+
+* A new version of pthread_rwlock functions have been implemented to use a more
+  scalable algorithm primarily through not using a critical section anymore to
+  make state changes.
+
 Security related changes:
 
-  On ARM EABI (32-bit), generating a backtrace for execution contexts which
+* On ARM EABI (32-bit), generating a backtrace for execution contexts which
   have been created with makecontext could fail to terminate due to a
   missing .cantunwind annotation.  This has been observed to lead to a hang
   (denial of service) in some Go applications compiled with gccgo.  Reported
   by Andreas Schwab.  (CVE-2016-6323)
 
+* The DNS stub resolver functions would crash due to a NULL pointer
+  dereference when processing a query with a valid DNS question type which
+  was used internally in the implementation.  The stub resolver now uses a
+  question type which is outside the range of valid question type values.
+  (CVE-2015-5180)
+
 The following bugs are resolved with this release:
 
-  [The release manager will add the list generated by
-  scripts/list-fixed-bugs.py just before the release.]
+  [4099] stdio: Overly agressive caching by stream i/o functions.
+  [7065] build: Support building glibc with -fstack-protector or -fstack-
+    protector-all
+  [9842] localedata: en_CA: incorrect date format
+  [13165] nptl: pthread_cond_wait() can consume a signal that was sent
+    before it started waiting
+  [14139] manual: Do not hardcode platform names in manual/libm-err-tab.pl
+  [15765] nptl: sem_open is wrongly a cancellation point
+  [16421] network: IN6_IS_ADDR_UNSPECIFIED can use undefined s6_addr32
+  [16458] libc: endian.h and netinet/in.h byte order macros return values of
+    wrong type
+  [16628] dynamic-link: Segfault after a binary without pthread dlopen()s a
+    library linked with pthread
+  [16630] nptl: Use SYSENTER for pthread_cond_broadcast/signal() (i.e. fix
+    "FIXME: Ingo" issue)
+  [16907] libc: <argp.h> compiled with --std=cXX disables __attribute__
+  [17252] libc: getrandom and getentropy syscall
+  [17730] malloc: thread-local storage is sometimes improperly free()'d
+    after being __libc_memalign()'d
+  [18241] stdio: failed fseek on memstream does not set errno and can fail
+    when it shouldnt
+  [18243] nptl: sem_wait, sem_timedwait are cancellation points shm_open is
+    not
+  [18463] nptl: pthread_cond_broadcast issue when surrounded by
+    PTHREAD_PRIO_INHERIT mutex on ARM
+  [18784] network: res_query and related function crash for special record
+    type queries (CVE-2015-5180)
+  [19380] math: strtod does not raise "inexact"
+  [19387] string: Integer overflow in memchr
+  [19390] string: Integer overflow in strncat
+  [19398] build: linknamespace tests fail with massively parallel build
+  [19402] nptl: Deadlock with robust shared mutex and asynchronous
+    termination
+  [19469] malloc: M_PERTURB in test-skeleton.c invalidates malloc tests
+  [19473] malloc: Turn malloc_get_state etc. in compatibility symbols
+  [19514] libc: [PATCH] Fix spelling errors in spelling
+    "implement"/"implementation" in several places
+  [19582] network: Deprecate RES_USE_INET6
+  [19673] manual: clog10 docs appear to be erroneous
+  [19810] dynamic-link: dlopen with both RTLD_NOLOAD and RTLD_NODELETE
+    causes a segmentation fault
+  [19826] libc: invalid pointer returned from __tls_get_addr with static
+    linking
+  [20016] network: resolv: Remove hooks support from the API
+  [20019] dynamic-link: NULL pointer dereference in libc.so.6 IFUNC due to
+    uninitialized GOT
+  [20033] math: [x86_64] vectorized math function don't call the __finite
+    versions
+  [20116] nptl: use after free in pthread_create
+  [20181] stdio: open_memstream(): writes not at end of stream corrupt data
+  [20292] dynamic-link: Comparison in elf/dl-open.c _dl_addr_inside_object
+    is always true.
+  [20311] nptl: please install proc_service.h
+  [20366] libc: Compilation errors in installed headers in strict-compliance
+    modes
+  [20370] malloc: malloc: Arena free list management is still racy
+    (incorrect fix in bug 19243)
+  [20386] libc: assert (X = 0) does not result in GCC warning
+  [20432] malloc: malloc: Minimize interface required for interposition
+  [20435] libc: Missing unwind info in __startcontext causes infinite loop
+    in _Unwind_Backtrace (CVE-2016-6323)
+  [20444] hurd: recvmsg: PF_LOCAL sockets and msg_name lead to SIGLOST
+  [20452] nptl: Addition of sysdep.o to libpthread.a breaks relinking
+    libpthread.a
+  [20455] math: [powerpc] fesetexceptflag fails to clear FE_INVALID
+  [20459] localedata: et_EE: locale has wrong {p,n}_cs_precedes value
+  [20477] network: resolv: incorrect double-checked locking related to
+    _res_hconf
+  [20478] libc: libc_ifunc macro and similar usages leads to false debug-
+    information.
+  [20495] math: x86_64 performance degradation due to AVX/SSE transition
+    penalty
+  [20497] localedata: lt_LT: LC_TIME d_fmt used is obsolete
+  [20508] dynamic-link: _dl_runtime_resolve_avx/_dl_runtime_profile_avx512
+    cause transition penalty
+  [20517] math: sparcv9 missing fdiml compat symbol
+  [20524] manual: strverscmp is inconsistent
+  [20525] libc: <sys/quota.h> should be based on kernel headers
+  [20539] math: GCC 7 -static -lm fails to link at -O3
+  [20554] libc: ld: bss-plt forced due to /usr/lib/libc_nonshared.a(ppc-
+    mcount.oS)
+  [20558] string: POSIX bcopy/bzero decls do not implement Object Size
+    Checking
+  [20591] network: Remove obsolete DNSSEC support
+  [20592] network: DNS resource record type classification macros in
+    <arpa/nameser.h> are incorrect
+  [20593] network: Update DNS RR type definitions
+  [20611] network: getaddrinfo accepts invalid numeric scope IDs
+  [20615] build: glibc build fails when using --with-cpu=power9 --enable-
+    multi-arch
+  [20629] network: libresolv: Remove support for bitstring labels
+    (RES_USEBSTRING)
+  [20647] libc: GLIBC quitting every program - glibc on Pentium-S leads to
+    assertion: "maxidx >= 2"
+  [20660] math: [arm] Use VSQRT
+  [20662] libc: checking whether x86_64-pc-linux-gnu-gcc implicitly enables
+    -fstack-protector no (32bit gcc 6.2.0 pie and ssp enable)
+  [20689] libc: Test for FMA should also check for AVX.
+  [20707] glob: gl_pathv entries not set to NULL with GLOB_DOOFFS
+  [20715] math: iszero macro breaks existing code
+  [20718] math: [powerpc] copysignl raises "invalid" for sNaN
+  [20728] libc: powerpc: Missing TOC stub in clone
+  [20729] build: glibc-2.24 fails to build for i486 with -Os
+  [20750] build: Build fails with default PIE enabled gcc-6.x
+  [20768] math: [alpha] sqrt fegetenv namespace
+  [20785] libc: binutils 2.28 fails to assemble power6/memset.S file in
+    glibc
+  [20787] math: float_t is defined as float incorrectly on x86_64 even if
+    __FLT_EVAL_METHOD__ is 2
+  [20790] network: rpcgen buffer overrun in get_prog_declaration
+  [20822] nptl: race condition in __lll_unlock_elision on powerpc
+  [20829] libc: crypt snprintf namespace
+  [20847] libc: tst-vfork3 failure
+  [20855] math: Default bits/mathdef.h has inappropriate float_t
+  [20859] math: [sh4] FP_ILOGB0 invalid
+  [20864] localedata: iconv: cp936 missing single-byte euro sign (0x80,
+    U+20AC), not same as GBK
+  [20915] dynamic-link: global-dynamic TLS broken on aarch64
+  [20916] math: pow handling of sNaN arguments
+  [20918] build: Building with --enable-nss-crypt fails tst-linkall-static.
+  [20919] math: Bad pow (qNaN, 0) result with -lieee
+  [20940] math: hypot sNaN handling
+  [20947] math: fmax, fmin sNaN handling
+  [20956] libc: debug/tst-backtrace3-6 don't work with -O3 anymore
+  [20964] network: sunrpc: Stack-based buffer overflow in getrpcport with
+    RES_USE_INET6
+  [20971] string: powerpc64/power7 memchr overflows internal pointer check
+  [20973] nptl: robust mutexes: Lost wake-ups
+  [20974] locale: bs_BA: yesexpr/noexpr regexes accept any character
+  [20978] nis: strlen on null pointer in nss_nisplus
+  [20985] nptl: robust mutexes: lowlevelrobustlock assembly on x86 blocks on
+    wrong condition
+  [21014] string: i686 memchr overflows internal pointer check
+  [21019] libc: [mips] n32 lseek incorrect on overflow
+  [21022] libc: [microblaze] __backtrace get_frame_size namespace
+  [21026] libc: [MIPS] readahead syscall is broken on n64
+  [21028] math: Fallback fesetexceptflag should always succeed
+  [21045] libc: [powerpc-nofpu] swapcontext does not restore signal mask
+  [21047] math: arm: fpu_control.h: _FPU_GETCW/_FPU_SETCW is rejected by
+    clang
+  [21053] libc: [SH] Namespace pollution from sys/ucontext.h
+  [21061] librt: [microblaze] librt lost clock_* exports
+  [21073] libc: tunables: insecure environment variables passed to
+    subprocesses with AT_SECURE
+  [21081] string: Missing vzeroupper in memset-vec-unaligned-erms.S
 \f
 Version 2.24
 
@@ -3511,7 +3946,7 @@ Version 1.04
 ----------------------------------------------------------------------
 Copyright information:
 
-Copyright (C) 1992-2016 Free Software Foundation, Inc.
+Copyright (C) 1992-2017 Free Software Foundation, Inc.
 
    Permission is granted to anyone to make or distribute verbatim copies
    of this document as received, in any medium, provided that the