GNU C Library NEWS -- history of user-visible changes.
-Copyright (C) 1992-2015 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.23
+Version 2.26
-* The following bugs are resolved with this release:
+[Add important changes here]
+
+Security related changes:
+
+ [Add security related changes here]
+
+The following bugs are resolved with this release:
- 887, 2542, 2543, 2558, 2898, 4404, 6799, 6803, 10432, 14341, 14912, 15367,
- 15384, 15470, 15491, 15786, 15918, 16068, 16141, 16171, 16296, 16347,
- 16399, 16415, 16422, 16517, 16519, 16520, 16521, 16620, 16734, 16973,
- 16985, 17118, 17243, 17244, 17250, 17404, 17441, 17787, 17886, 17887,
- 17905, 18084, 18086, 18240, 18265, 18370, 18421, 18480, 18525, 18595,
- 18589, 18604, 18610, 18611, 18618, 18647, 18661, 18674, 18675, 18681,
- 18699, 18724, 18743, 18757, 18778, 18781, 18787, 18789, 18790, 18795,
- 18796, 18803, 18820, 18823, 18824, 18825, 18857, 18863, 18870, 18872,
- 18873, 18875, 18887, 18918, 18921, 18928, 18951, 18952, 18953, 18956,
- 18961, 18966, 18967, 18969, 18970, 18977, 18980, 18981, 18982, 18985,
- 19003, 19007, 19012, 19016, 19018, 19032, 19046, 19048, 19049, 19050,
- 19059, 19071, 19074, 19076, 19077, 19078, 19079, 19085, 19086, 19088,
- 19094, 19095, 19124, 19125, 19129, 19134, 19137, 19156, 19174, 19181,
- 19189, 19201, 19205, 19209.
+ [The release manager will add the list generated by
+ scripts/list-fixed-bugs.py just before the release.]
+
+\f
+Version 2.25
+
+* The feature test macro __STDC_WANT_LIB_EXT2__, from ISO/IEC TR
+ 24731-2:2010, is supported to enable declarations of functions from that
+ TR. Note that not all functions from that TR are supported by the GNU C
+ Library.
+
+* 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 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
+ 18661-4:2015, is supported to enable declarations of functions and macros
+ 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>.
+
+ These macros are not part of POSIX nor XSI, and their names frequently
+ collide with user code; see for instance glibc bug 19239 and Red Hat bug
+ 130601. <stdlib.h> includes <sys/types.h> under _GNU_SOURCE, and C++ code
+ presently cannot avoid being compiled under _GNU_SOURCE, exacerbating the
+ 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 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,
+ UINT_WIDTH, LONG_WIDTH, ULONG_WIDTH, LLONG_WIDTH, ULLONG_WIDTH; and to
+ <stdint.h>: INT8_WIDTH, UINT8_WIDTH, INT16_WIDTH, UINT16_WIDTH,
+ INT32_WIDTH, UINT32_WIDTH, INT64_WIDTH, UINT64_WIDTH, INT_LEAST8_WIDTH,
+ UINT_LEAST8_WIDTH, INT_LEAST16_WIDTH, UINT_LEAST16_WIDTH,
+ INT_LEAST32_WIDTH, UINT_LEAST32_WIDTH, INT_LEAST64_WIDTH,
+ UINT_LEAST64_WIDTH, INT_FAST8_WIDTH, UINT_FAST8_WIDTH, INT_FAST16_WIDTH,
+ UINT_FAST16_WIDTH, INT_FAST32_WIDTH, UINT_FAST32_WIDTH, INT_FAST64_WIDTH,
+ UINT_FAST64_WIDTH, INTPTR_WIDTH, UINTPTR_WIDTH, INTMAX_WIDTH,
+ UINTMAX_WIDTH, PTRDIFF_WIDTH, SIG_ATOMIC_WIDTH, SIZE_WIDTH, WCHAR_WIDTH,
+ WINT_WIDTH.
+
+* New <math.h> features are added from TS 18661-1:2014:
+
+ - 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.
+
+ - Total order functions: totalorder, totalorderf, totalorderl,
+ totalordermag, totalordermagf, totalordermagl.
+
+ - Canonicalize functions: canonicalize, canonicalizef, canonicalizel.
+
+ - NaN functions: getpayload, getpayloadf, getpayloadl, setpayload,
+ 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
+ libraries that use this type in their interfaces.
+
+* On x86_64, when compiling with -mfpmath=387 or -mfpmath=sse+387, the
+ float_t and double_t types are now defined to long double instead of float
+ and double. These options are not the default, and this does not affect
+ the ABI of any libraries that are part of the GNU C Library, but it may
+ 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.
+
+* The malloc_get_state and malloc_set_state functions have been removed.
+ Already-existing binaries that dynamically link to these functions will
+ get a hidden implementation in which malloc_get_state is a stub. As far
+ as we know, these functions are used only by GNU Emacs and this change
+ will not adversely affect already-built Emacs executables. Any undumped
+ Emacs executables, which normally exist only during an Emacs build, should
+ be rebuilt by re-running “./configure; make” in the Emacs build tree.
+
+* The “ip6-dotint” and “no-ip6-dotint” resolver options, and the
+ corresponding RES_NOIP6DOTINT flag from <resolv.h> have been removed.
+ “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_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,
+ 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
+ decode the data part of DNSSEC record types. Previous versions of glibc
+ only implemented minimal support for the previous version of DNSSEC, which
+ is incompatible with the currently deployed version.
+
+* The resource record type classification macros ns_t_qt_p, ns_t_mrr_p,
+ ns_t_rr_p, ns_t_udp_p, ns_t_xfr_p have been removed from the
+ <arpa/nameser.h> header file because the distinction between RR types and
+ meta-RR types is not officially standardized, subject to revision, and
+ thus not suitable for encoding in a macro.
+
+* The types res_sendhookact, res_send_qhook, re_send_rhook, and the qhook
+ and rhook members of the res_state type in <resolv.h> have been removed.
+ The glibc stub resolver did not support these hooks, but the header file
+ did not reflect that.
+
+* For multi-arch support it is recommended to use a GCC which has
+ been built with support for GNU indirect functions. This ensures
+ that correct debugging information is generated for functions
+ selected by IFUNC resolvers. This support can either be enabled by
+ configuring GCC with '--enable-gnu-indirect-function', or by
+ enabling it by default by setting 'default_gnu_indirect_function'
+ 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
+ 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:
+
+ [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
+
+* The minimum Linux kernel version that this version of the GNU C Library
+ can be used with is 3.2, except on i[4567]86 and x86_64, where Linux
+ kernel version 2.6.32 or later suffices (on architectures that already
+ required kernel versions more recent than 3.2, those requirements remain
+ unchanged). Linux 3.2 or later kernel headers are required on all
+ architectures.
+
+* The pap_AN locale has been deleted. This has been deprecated for a long
+ time. It has been replaced by pap_AW & pap_CW, both of which have long
+ been included in previous releases.
+
+* The readdir_r and readdir64_r functions have been deprecated. It is
+ recommended to use readdir and readdir64 instead.
+
+* The type “union wait” has been removed. It was deprecated in the early
+ 1990s and never part of POSIX. Application code should use the int type
+ instead of “union wait”.
+
+* A new NSS action is added to facilitate large distributed system
+ administration. The action, MERGE, allows remote user stores like LDAP
+ to be merged into local user stores like /etc/groups in order to provide
+ easy to use, updated, and managed sets of merged credentials. The new
+ action can be used by configuring it in /etc/nsswitch.conf:
+ group: files [SUCCESS=merge] nis
+ Implemented by Stephen Gallagher (Red Hat).
+
+* The deprecated __malloc_initialize_hook variable has been removed from the
+ API.
+
+* The long unused localedef --old-style option has been removed. It hasn't
+ done anything in over 16 years. Scripts using this option can safely
+ drop it.
+
+* nextupl, nextup, nextupf, nextdownl, nextdown and nextdownf are added to
+ libm. They are defined by TS 18661 and IEEE754-2008. The nextup functions
+ return the next representable value in the direction of positive infinity
+ and the nextdown functions return the next representable value in the
+ direction of negative infinity. These are currently enabled as GNU
+ extensions.
+
+Security related changes:
+
+* An unnecessary stack copy in _nss_dns_getnetbyname_r was removed. It
+ could result in a stack overflow when getnetbyname was called with an
+ overly long name. (CVE-2016-3075)
+
+* Previously, getaddrinfo copied large amounts of address data to the stack,
+ even after the fix for CVE-2013-4458 has been applied, potentially
+ resulting in a stack overflow. getaddrinfo now uses a heap allocation
+ instead. Reported by Michael Petlan. (CVE-2016-3706)
+
+* The glob function suffered from a stack-based buffer overflow when it was
+ called with the GLOB_ALTDIRFUNC flag and encountered a long file name.
+ Reported by Alexander Cherepanov. (CVE-2016-1234)
+
+* The Sun RPC UDP client could exhaust all available stack space when
+ flooded with crafted ICMP and UDP messages. Reported by Aldy Hernandez'
+ alloca plugin for GCC. (CVE-2016-4429)
+
+* The IPv6 name server management code in libresolv could result in a memory
+ leak for each thread which is created, performs a failing naming lookup,
+ and exits. Over time, this could result in a denial of service due to
+ memory exhaustion. Reported by Matthias Schiffer. (CVE-2016-5417)
+
+The following bugs are resolved with this release:
+
+ [1170] localedata: ne_NP: update Nepali locale definition file
+ [3629] manual: stpcpy description in string.texi refers to MS-DOG instead
+ of MS-DOS.
+ [6527] malloc: [powerpc] Malloc alignment insufficient for PowerPC
+ [6796] math: fdim() does not set errno on overflow
+ [10354] libc: posix_spawn should use vfork() in more cases than presently
+ [11213] localedata: localedata: add copyright disclaimer to locale files
+ [12143] localedata: chr_US: new Cherokee locale
+ [12450] localedata: sgs_LT: new locale
+ [12676] localedata: ln_CD: new locale
+ [13237] localedata: LC_ADDRESS.country_name: update all locales w/latest
+ CLDR data
+ [13304] math: fma, fmaf, fmal produce wrong results
+ [14259] build: --localedir arg to configure is ignored
+ [14499] nptl: Does posix_spawn invoke atfork handlers / use vfork?
+ [14750] libc: Race condition in posix_spawn vfork usage vs signal handlers
+ [14934] localedata: es_CL: wrong first weekday chilean locale
+ [15262] localedata: LC_MESSAGES.yesexpr/noexpr: inconsistent use of
+ romanisation
+ [15263] localedata: LC_MESSAGES.yesexpr/noexpr: inconsistent use of 1/0
+ and +/-
+ [15264] localedata: LC_MESSAGES.yesstr/nostr: lacking in many locales
+ [15368] nptl: raise() is not async-signal-safe
+ [15479] math: ceil, floor, round and trunc raise inexact exception
+ [15578] localedata: kk_KZ: various updates
+ [16003] localedata: pap_AN: punt old locale
+ [16137] localedata: iw_IL: punt old locale
+ [16190] localedata: eo: new esperanto locale
+ [16374] localedata: lv_LV: change currency symbol in LC_MONETARY to euro
+ [16742] malloc: race condition: pthread_atfork() called before first
+ malloc() results in unexpected locking behaviour/deadlocks
+ [16975] localedata: LC_MESSAGES.yesexpr/noexpr: revisit capitalization in
+ all locales
+ [16983] localedata: postal_fmt does not allow %l and %n modifiers
+ [17565] localedata: pt_PT: wrong (work-)week start
+ [17899] math: [powerpc] floorl returns negative zero with FE_DOWNWARD
+ [17950] build: Build fails with -msse
+ [18205] localedata: be_BY*: wrong first_weekday and first_workday
+ [18433] libc: posix_spawn does not return correctly upon failure to
+ execute
+ [18453] localedata: charmaps/IBM875: incorrect codes
+ [18712] string: bits/string2.h incompatible with -O2 -Werror=packed
+ -Wsystem-headers
+ [18896] localedata: he_IL: improvements for currency
+ [18911] localedata: ro_RO: Correcting week day name for "Tuesday" in
+ Romanian locale data
+ [18960] locale: s390: _nl_locale_subfreeres uses larl opcode on misaligned
+ symbol
+ [19056] libc: Deprecate readdir_r
+ [19133] localedata: pt_*: days & months should be lowercase in Portuguese
+ language
+ [19198] localedata: nl_NL: small improvements for Dutch locales
+ [19257] network: Per-thread memory leak in __res_vinit with IPv6
+ nameservers (CVE-2016-5417)
+ [19269] build: tst-audit4 and tst-audit10 failures with gcc-6 on non avx
+ machine
+ [19400] locale: Language missing in "iso-639.def", trivial fix in
+ description
+ [19431] malloc: Deadlock between fflush, getdelim, and fork
+ [19505] libc: Incorrect file descriptor validity checks in
+ posix_spawn_file_actions_add{open,close,dup2}
+ [19509] dynamic-link: dlsym, dlvsym do not report errors through dlerror
+ when using RTLD_NEXT
+ [19512] locale: Stale `#ifndef HAVE_BUILTIN_EXPECT' in
+ `intl/{gettextP,loadinfo}.h'
+ [19534] libc: execle, execlp may use malloc
+ [19568] localedata: *_CH: Swiss locales have inconsistent start of week
+ [19573] network: res_nclose and __res_maybe_init disagree about name
+ server initialization, breaking Hesiod
+ [19575] localedata: Status of GB18030 tables
+ [19581] localedata: sr_* date_fmt string contains additional newline
+ [19583] string: SSSE3_Fast_Copy_Backward flag needs to be enabled for AMD
+ Excavator core
+ [19592] math: [ldbl-128ibm] ceill incorrect in non-default rounding modes
+ [19593] math: [ldbl-128ibm] truncl incorrect in non-default rounding modes
+ [19594] math: [ldbl-128ibm] roundl incorrect in non-default rounding modes
+ [19595] math: [ldbl-128ibm] fmodl incorrect for results in subnormal
+ double range
+ [19602] math: [ldbl-128ibm] fmodl handling of equal arguments with low
+ part zero incorrect
+ [19603] math: [ldbl-128ibm] remainderl, remquol incorrect sign handling in
+ equality tests
+ [19610] dynamic-link: ldconfig -X removes stale symbolic links
+ [19613] libc: s390x (64 bit) macro expansion WCOREDUMP and others
+ [19633] locale: strfmon_l applies global locale to number formatting
+ [19642] network: Memory leak in getnameinfo
+ [19648] libc: test-skeleton.c: Do not set RLIMIT_DATA
+ [19653] libc: Potential for NULL pointer dereference (CWE-476) in
+ glibc-2.22
+ [19654] math: [x86_64] Need testcase for BZ #19590 fix
+ [19671] localedata: Missing Sanity Check for malloc() in 'tst-fmon.c' &
+ 'tst-numeric.c'
+ [19674] math: [ldbl-128ibm] powl incorrect overflow handling
+ [19677] math: [ldbl-128ibm] remainderl equality test incorrect for zero
+ low part
+ [19678] math: [ldbl-128ibm] nextafterl, nexttowardl incorrect sign of zero
+ result
+ [19679] dynamic-link: gcc-4.9.3 C++ exception handling broken due to
+ unaligned stack
+ [19726] locale: Converting UCS4LE to INTERNAL with iconv() does not update
+ pointers and lengths in error-case.
+ [19727] locale: Converting from/to UTF-xx with iconv() does not always
+ report errors on UTF-16 surrogates values.
+ [19755] nscd: nscd assertion failure in gc
+ [19758] dynamic-link: Typo in EXTRA_LD_ENVVARS for x86-64
+ [19759] libc: mempcpy shouldn't be inlined
+ [19762] dynamic-link: HAS_CPU_FEATURE/HAS_ARCH_FEATURE are easy to misuse
+ [19765] libc: s390 needs an optimized mempcpy
+ [19779] glob: glob: buffer overflow with GLOB_ALTDIRFUNC due to incorrect
+ NAME_MAX limit assumption (CVE-2016-1234)
+ [19783] build: benchtests don't support --enable-hardcoded-path-in-tests
+ [19787] network: Missing and incorrect truncation checks in getnameinfo
+ [19790] math: [ldbl-128ibm] nearbyintl incorrect in non-default rounding
+ modes
+ [19791] network: Assertion failure in res_query.c with un-connectable name
+ server addresses
+ [19792] libc: MIPS: backtrace yields infinite backtrace with makecontext
+ [19822] math: libm.so install clobbers old version
+ [19825] network: resolv: send_vc can return uninitialized data in second
+ response to getaddrinfo
+ [19830] network: nss_dns: should check RDATA length against buffer length
+ [19831] network: nss_dns: getaddrinfo returns uninitialized data when
+ confronted with A/AAAA records of invalid size
+ [19837] nss: nss_db: No retries for some long lines with a larger buffer
+ [19848] math: powl(10,n) for n=-4,-5,-6,-7 is off by more than 1 ULP
+ [19853] stdio: Printing IBM long double in decimal with high precision is
+ sometimes incorrect
+ [19860] build: x86_64: compile errors for tst-audit10 and tst-auditmod10b
+ [19861] nptl: libpthread IFUNC resolver for fork can lead to crash
+ [19862] network: resolv, nss_dns: Remove remaining logging of unexpected
+ record types
+ [19865] network: Assertion failure or memory leak in
+ _nss_dns_getcanonname_r
+ [19868] network: nss_dns: netent code does not skip over non-PTR records
+ [19879] network: nss_dns: Stack overflow in getnetbyname implementation
+ (CVE-2016-3075)
+ [19881] string: Improve x86-64 memset
+ [19907] string: Incorrect memcpy tests
+ [19916] dynamic-link: S390: fprs/vrs are not saved/restored while
+ resolving symbols
+ [19925] libc: termios.h XCASE namespace
+ [19928] string: memmove-vec-unaligned-erms.S is slow with large data size
+ [19929] libc: limits.h NL_NMAX namespace
+ [19931] stdio: Memory leak in vfprintf
+ [19957] libc: clone(CLONE_VM) access invalid parent memory
+ [19963] localedata: en_IL: New locale
+ [19989] stdio: stdio.h cuserid namespace
+ [19994] network: getaddrinfo does not restore RES_USE_INET6 flag in
+ gethosts
+ [19996] locale: langinfo.h nl_langinfo_l namespace
+ [20005] stdio: fflush on a file opened with fmemopen resets position to 0
+ [20010] network: getaddrinfo: Stack overflow in hostent translation
+ (CVE-2016-3706)
+ [20012] stdio: libio: fmemopen append mode failure
+ [20014] stdio: stdio.h namespace for pre-threads POSIX
+ [20017] network: resolv: Use gmtime_r instead of gmtime in p_secstodate
+ [20023] libc: fcntl.h timespec namespace
+ [20024] math: [x86_64] vectorized sincos trashes the stack
+ [20031] network: nss_hesiod: Heap overflow in get_txt_records
+ [20041] time: sys/time.h timespec namespace
+ [20043] libc: unistd.h missing cuserid for UNIX98 and before
+ [20044] libc: unistd.h missing pthread_atfork for UNIX98
+ [20051] libc: ttyslot in wrong header under wrong conditions
+ [20054] libc: gethostname not declared for XPG4
+ [20055] libc: termios.h missing tcgetsid for XPG4
+ [20072] dynamic-link: x86 init_cpu_features is called twice in static
+ executable
+ [20073] libc: sys/stat.h fchmod namespace
+ [20074] libc: stdlib.h rand_r namespace
+ [20076] libc: sys/stat.h missing S_IFSOCK, S_ISSOCK for XPG4
+ [20094] libc: stdlib.h should not declare grantpt, ptsname, unlockpt for
+ XPG3
+ [20111] libc: struct sockaddr_storage cannot be aggregate-copied
+ [20112] network: sunrpc: stack (frame) overflow in Sun RPC clntudp_call
+ (CVE-2016-4429)
+ [20115] string: Extra alignment in memset-vec-unaligned-erms.S
+ [20119] libc: Wrong mask for processors level type from CPUID
+ [20139] dynamic-link: Upper part of zmm is zeroed if Glibc is built with
+ AS not supporting AVX512
+ [20151] math: [ldbl-128/ldbl-128ibm] j0l, j1l, y0l, y1l return sNaN for
+ sNaN argument
+ [20153] math: [ldbl-128ibm] sqrtl (sNaN) returns sNaN
+ [20156] math: [ldbl-128ibm] ceill, rintl etc. return sNaN for sNaN
+ argument
+ [20157] math: [powerpc] fabsl (sNaN) wrongly raises "invalid"
+ [20160] math: [powerpc] ceil, rint etc. return sNaN for sNaN input
+ [20178] libc: posix_spawn{p} should not call exit
+ [20191] stdio: libio: vtables hardening
+ [20195] string: FMA4 detection requires CPUID execution with register
+ eax=0x80000001
+ [20198] libc: quick_exit incorrectly destroys C++11 thread objects.
+ [20205] math: [i386/x86_64] nextafterl incorrect incrementing negative
+ subnormals
+ [20212] math: acos (sNaN) returns sNaN
+ [20213] math: asin (sNaN) returns sNaN
+ [20214] network: Linux header sync with linux/in6.h and ipv6.h again.
+ [20218] math: [i386] asinhl (sNaN) returns sNaN
+ [20219] math: [i386] atanhl (sNaN) returns sNaN
+ [20222] stdio: fopencookie: Mangle function pointers
+ [20224] math: [i386] cbrtl (sNaN) returns sNaN
+ [20225] math: ldexp, scalbn, scalbln return sNaN for sNaN input
+ [20226] math: [i386/x86_64] expl, exp10l, expm1l return sNaN for sNaN
+ input
+ [20227] math: [i386/x86_64] logl (sNaN) returns sNaN
+ [20228] math: [i386/x86_64] log10l (sNaN) returns sNaN
+ [20229] math: [i386/x86_64] log1pl (sNaN) returns sNaN
+ [20232] math: [ldbl-128] expm1l (sNaN) returns sNaN
+ [20233] math: [ldbl-128ibm] expm1l (sNaN) returns sNaN
+ [20234] math: [ldbl-128ibm] log1pl (sNaN) returns sNaN
+ [20235] math: [i386/x86_64] log2l (sNaN) returns sNaN
+ [20237] nss: nss_db: get*ent segfaults without preceding set*ent
+ [20240] math: modf (sNaN) returns sNaN
+ [20248] libc: debug/tst-longjump_chk2 calls printf from a signal handler
+ [20250] math: frexp (sNaN) returns sNaN
+ [20252] math: atan2 (sNaN, qNaN) fails to raise "invalid"
+ [20255] math: [i386] fdim, fdimf return with excess range and precision /
+ double rounding
+ [20256] math: [i386/x86_64] fdiml returns sNaN for sNaN input
+ [20260] string: ../sysdeps/x86/bits/string.h:1092:3: error: array
+ subscript is below array bounds [-Werror=array-bounds]
+ [20262] nis: _nss_nis_initgroups_dyn always returns NSS_STATUS_NOTFOUND
+ [20263] nptl: robust mutex deadlocks if other thread requests timedlock
+ (Only arm/linux)
+ [20277] libc: $dp is not initialized correctly in sysdeps/hppa/start.S
+ [20284] malloc: malloc: Corrupt arena avoidance causes unnecessary mmap
+ fallbacks
+ [20296] math: [i386/x86_64] scalbl returns sNaN for sNaN input, missing
+ "invalid" exceptions
+ [20314] nptl: make[4]: *** [/usr/include/stdlib.h] Error 1
+ [20316] localedata: id_ID: Februari instead of Pebruari
+ [20327] string: POWER8 strcasecmp returns incorrect result
+ [20347] math: Failure: Test: j0_downward (0xap+0)
+ [20348] libc: FAIL: misc/tst-preadvwritev64
+ [20349] libc: 64-bit value is passed differently in p{readv,writev}{64}
+ [20350] libc: There is no test for p{read,write}64
+ [20357] math: Incorrect cos result for 1.5174239687223976
+ [20384] build: Don't run libmvec-sincos-avx* tests on non avx machines
+\f
+Version 2.23
+
+* Unicode 8.0.0 Support: Character encoding, character type info, and
+ transliteration tables are all updated to Unicode 8.0.0, using new
+ and/or improved generator scripts contributed by Mike FABIAN (Red Hat).
+ These updates cause user visible changes, such as the fixes for bugs
+ 89, 16061, and 18568.
+
+* sched_setaffinity, pthread_setaffinity_np no longer attempt to guess the
+ kernel-internal CPU set size. This means that requests that change the
+ CPU affinity which failed before (for example, an all-ones CPU mask) will
+ now succeed. Applications that need to determine the effective CPU
+ affinities need to call sched_getaffinity or pthread_getaffinity_np after
+ setting it because the kernel can adjust it (and the previous size check
+ would not detect this in the majority of cases).
+
+* The fts.h header can now be used with -D_FILE_OFFSET_BITS=64. With LFS
+ the following new symbols are used: fts64_children, fts64_close,
+ fts64_open, fts64_read and fts64_set.
+
+* getaddrinfo now detects certain invalid responses on an internal netlink
+ socket. If such responses are received, an affected process will
+ terminate with an error message of "Unexpected error <number> on netlink
+ descriptor <number>" or "Unexpected netlink response of size <number> on
+ descriptor <number>". The most likely cause for these errors is a
+ multi-threaded application which erroneously closes and reuses the netlink
+ file descriptor while it is used by getaddrinfo.
* A defect in the malloc implementation, present since glibc 2.15 (2012) or
glibc 2.10 via --enable-experimental-malloc (2009), could result in the
unnecessary serialization of memory allocation requests across threads.
The defect is now corrected. Users should see a substantial increase in
the concurent throughput of allocation requests for applications which
- trigger this bug. Affected applications typically create create and
+ trigger this bug. Affected applications typically create and
destroy threads frequently. (Bug 19048 was reported and analyzed by
Ericsson.)
tzselect). This is useful for people who build the timezone data and code
independent of the GNU C Library.
-* The LD_POINTER_GUARD environment variable can no longer be used to
- disable the pointer guard feature. It is always enabled.
-
* The obsolete header <regexp.h> has been removed. Programs that require
this header must be updated to use <regex.h> instead.
+* The obsolete functions bdflush, create_module, get_kernel_syms,
+ query_module and uselib are no longer available to newly linked binaries;
+ the header <sys/kdaemon.h> has been removed. These functions and header
+ were specific to systems using the Linux kernel and could not usefully be
+ used with the GNU C Library on systems with version 2.6 or later of the
+ Linux kernel.
+
* Optimized string, wcsmbs and memory functions for IBM z13.
Implemented by Stefan Liebler.
+* Newly linked programs that define a variable called signgam will no longer
+ have it set by the lgamma, lgammaf and lgammal functions. Programs that
+ require signgam to be set by those functions must ensure that they use the
+ variable provided by the GNU C Library and declared in <math.h>, without
+ defining their own copy.
+
* The minimum GCC version that can be used to build this version of the GNU
C Library is GCC 4.7. Older GCC versions, and non-GNU compilers, can
still be used to compile programs using the GNU C Library.
+
+Security related changes:
+
+* An out-of-bounds value in a broken-out struct tm argument to strftime no
+ longer causes a crash. Reported by Adam Nielsen. (CVE-2015-8776)
+
+* The LD_POINTER_GUARD environment variable can no longer be used to disable
+ the pointer guard feature. It is always enabled. Previously,
+ LD_POINTER_GUARD could be used to disable security hardening in binaries
+ running in privileged AT_SECURE mode. Reported by Hector Marco-Gisbert.
+ (CVE-2015-8777)
+
+* An integer overflow in hcreate and hcreate_r could lead to an
+ out-of-bounds memory access. Reported by Szabolcs Nagy. (CVE-2015-8778)
+
+* The catopen function no longer has unbounded stack usage. Reported by
+ Max. (CVE-2015-8779)
+
+* The nan, nanf and nanl functions no longer have unbounded stack usage
+ depending on the length of the string passed as an argument to the
+ functions. Reported by Joseph Myers. (CVE-2014-9761)
+
+* A stack-based buffer overflow was found in libresolv when invoked from
+ libnss_dns, allowing specially crafted DNS responses to seize control
+ of execution flow in the DNS client. The buffer overflow occurs in
+ the functions send_dg (send datagram) and send_vc (send TCP) for the
+ NSS module libnss_dns.so.2 when calling getaddrinfo with AF_UNSPEC
+ family. The use of AF_UNSPEC triggers the low-level resolver code to
+ send out two parallel queries for A and AAAA. A mismanagement of the
+ buffers used for those queries could result in the response of a query
+ writing beyond the alloca allocated buffer created by
+ _nss_dns_gethostbyname4_r. Buffer management is simplified to remove
+ the overflow. Thanks to the Google Security Team and Red Hat for
+ reporting the security impact of this issue, and Robert Holiday of
+ Ciena for reporting the related bug 18665. (CVE-2015-7547)
+
+The following bugs are resolved with this release:
+
+ [89] localedata: Locales nb_NO and nn_NO should transliterate æøå
+ [887] math: Math library function "logb" and "nextafter" inconsistent
+ [2542] math: Incorrect return from float gamma (-0X1.FA471547C2FE5P+1)
+ [2543] math: Incorrect return from float gamma (-0X1.9260DCP+1)
+ [2558] math: Incorrect return from double gamma (-0X1.FA471547C2FE5P+1)
+ [2898] libc: [improve] warning: the use of `mktemp' is dangerous, better
+ use `mkstemp'
+ [4404] localedata: German translation of "Alarm clock" is misleading
+ [6799] math: nextafter() and nexttoward() doen't set errno on
+ overflow/underflow errors
+ [6803] math: scalb(), scalbln(), scalbn() do not set errno on
+ overflow/underflow
+ [10432] nis: _nss_nis_setnetgrent assertion failure
+ [11460] libc: fts has no LFS support
+ [12926] network: getaddrinfo()/make_request() may spin forever
+ [13065] nptl: Race condition in pthread barriers
+ [13690] nptl: pthread_mutex_unlock potentially cause invalid access
+ [14341] dynamic-link: Dynamic linker crash when DT_JMPREL and DT_REL{,A}
+ are not contiguous
+ [14551] math: [ldbl-128ibm] strtold overflow handling for IBM long double
+ [14912] libc: Rename non-installed bits/*.h headers
+ [15002] libc: Avoid undefined behavior in posix_fallocate overflow check
+ [15367] math: Let gcc use __builtin_isinf
+ [15384] math: One constant fewer in ieee754/dbl-64/wordsize-64/s_finite.c
+ [15421] math: lgamma wrongly sets signgam for ISO C
+ [15470] math: [arm] On ARM llrintl() and llroundl() do not raise
+ FE_INVALID with argument out of range
+ [15491] math: [i386/x86_64] x86 nearbyint implementations wrongly clear
+ all exceptions
+ [15786] dynamic-link: ifunc resolver functions can smash function
+ arguments
+ [15918] math: Unnecessary check for equality in hypotf()
+ [16061] localedata: Review / update transliteration data
+ [16068] math: [i386/x86_64] x86 and x86_64 fesetenv exclude state they
+ should include
+ [16141] time: strptime %z offset restriction
+ [16171] math: drem should be alias of remainder
+ [16296] math: fegetround is pure?
+ [16347] math: [ldbl-128ibm] ldbl-128/e_lgammal_r.c may not be suitable.
+ [16364] libc: sleep may leave SIGCHLD blocked on sync cancellation on
+ GNU/Linux
+ [16399] math: [mips] lrint / llrint / lround / llround missing exceptions
+ [16415] math: Clean up ldbl-128 / ldbl-128ibm expm1l for large positive
+ arguments
+ [16422] math: [powerpc] math-float, math-double failing llrint tests with
+ "Exception "Inexact" set" on ppc32
+ [16495] localedata: nl_NL: date_fmt: shuffle year/month around
+ [16517] math: Missing underflow exception from tanf/tan/tanl
+ [16519] math: Missing underflow exception from sinhf
+ [16520] math: Missing underflow exception from tanhf
+ [16521] math: Missing underflow exception from exp2
+ [16620] math: [ldbl-128ibm] exp10l spurious overflows / bad directed
+ rounding results
+ [16734] stdio: fopen calls mmap to allocate its buffer
+ [16961] math: nan function incorrect handling of bad sequences
+ [16962] math: nan function unbounded stack allocation (CVE-2014-9761)
+ [16973] localedata: Fix lang_lib/lang_term as per ISO 639-2
+ [16985] locale: localedef: confusing error message when opening output
+ fails
+ [17118] math: ctanh(INFINITY + 2 * I) returns incorrect value
+ [17197] locale: Redundant shift character in iconv conversion output at
+ block boundary
+ [17243] libc: trunk/posix/execl.c:53: va_args problem ?
+ [17244] libc: trunk/sysdeps/unix/sysv/linux/semctl.c:116: va_args muxup ?
+ [17250] dynamic-link: static linking breaks nss loading
+ (getaddrinfo/getpwnam/etc...)
+ [17404] libc: atomic_exchange_rel lacking a barrier on MIPS16, GCC before
+ 4.7?
+ [17441] math: isnan() should use __builtin_isnan() in GCC
+ [17514] nptl: Assert failure unlocking ERRORCHECK mutex after timedlock
+ (related to lock elision)
+ [17787] manual: Exponent on page 324 of the PDF ends prematurely
+ [17886] time: strptime should be able to parse "Z" as a timezone with %z
+ [17887] time: strptime should be able to parse "+01:00" style timezones
+ [17905] libc: catopen() Multiple unbounded stack allocations
+ (CVE-2015-8779)
+ [18084] libc: backtrace (..., 0) dumps core on x86
+ [18086] libc: nice() sets errno to 0 on success
+ [18240] libc: hcreate, hcreate_r should fail with ENOMEM if element count
+ is too large (CVE-2015-8778)
+ [18251] dynamic-link: SONAME missing when audit modules provides path
+ [18265] libc: add attributes for wchar string and memory functions
+ [18370] math: csqrt missing underflows
+ [18421] libc: [hppa] read-only segment has dynamic relocations
+ [18472] libc: Obsolete syscall wrappers should be compat symbols
+ [18480] libc: hppa glibc miscompilation in sched_setaffinity()
+ [18491] localedata: Update tr_TR LC_CTYPE as part of Unicode updates
+ [18525] localedata: Remove locale timezone information
+ [18560] libc: [powerpc] spurious bits/ipc.h definitions
+ [18568] localedata: Update locale data to Unicode 8.0
+ [18589] locale: sort-test.sh fails at random
+ [18595] math: ctan, ctanh missing underflows
+ [18604] libc: assert macro-expands its argument
+ [18610] math: S390: fetestexcept() reports any exception if DXC-code
+ contains a vector instruction exception.
+ [18611] math: j1, jn missing errno setting on underflow
+ [18618] localedata: sync Chechen locale definitions with other *_RU
+ locales
+ [18647] math: powf(-0x1.000002p0, 0x1p30) returns 0 instead of +inf
+ [18661] libc: Some x86-64 assembly codes don't align stack to 16 bytes
+ [18665] network: In send_dg, the recvfrom function is NOT always using the
+ buffer size of a newly created buffer (CVE-2015-7547)
+ [18674] libc: [i386] trunk/sysdeps/i386/tst-auditmod3b.c:84: possible
+ missing break ?
+ [18675] libc: fpathconf(_PC_NAME_MAX) fails against large filesystems for
+ 32bit processes
+ [18681] libc: regexp.h is obsolete and buggy, and should be desupported
+ [18699] math: tilegx cproj() for various complex infinities does not yield
+ infinity
+ [18724] libc: Harden put*ent functions against data injection
+ [18743] nptl: PowerPC: findutils testcase fails with --enable-lock-elision
+ [18755] build: build errors with -DNDEBUG
+ [18757] stdio: fmemopen fails to set errno on failure
+ [18778] dynamic-link: ld.so crashes if failed dlopen causes libpthread to
+ be forced unloaded
+ [18781] libc: openat64 lacks O_LARGEFILE
+ [18787] libc: [hppa] sysdeps/unix/sysv/linux/hppa/bits/atomic.h:71:6:
+ error: can’t find a register in class ‘R1_REGS’ while reloading ‘asm’
+ [18789] math: [ldbl-128ibm] sinhl inaccurate near 0
+ [18790] math: [ldbl-128ibm] tanhl inaccurate
+ [18795] libc: stpncpy fortification misses buffer lengths that are
+ statically too large
+ [18796] build: build fails for --disable-mathvec
+ [18803] math: hypot missing underflows
+ [18820] stdio: fmemopen may leak memory on failure
+ [18823] math: csqrt spurious underflows
+ [18824] math: fma spurious underflows
+ [18825] math: pow missing underflows
+ [18857] math: [ldbl-128ibm] nearbyintl wrongly uses signaling comparisons
+ [18868] nptl: pthread_barrier_init typo has in-theory-undefined behavior
+ [18870] build: sem_open.c fails to compile with missing symbol
+ FUTEX_SHARED
+ [18872] stdio: Fix memory leak in printf_positional
+ [18873] libc: posix_fallocate overflow check ineffective
+ [18875] math: Excess precision leads incorrect libm
+ [18877] libc: arm: mmap offset regression
+ [18887] libc: memory corruption when using getmntent on blank lines
+ [18918] localedata: hu_HU: change time to HH:MM:SS format
+ [18921] libc: Regression: extraneous stat() and fstat() performed by
+ opendir()
+ [18928] dynamic-link: LD_POINTER_GUARD is not ignored for privileged
+ binaries (CVE-2015-8777)
+ [18951] math: tgamma missing underflows
+ [18952] math: [ldbl-128/ldbl-128ibm] lgammal spurious "invalid", incorrect
+ signgam
+ [18953] localedata: lt_LT: change currency symbol to the euro
+ [18956] math: powf inaccuracy
+ [18961] math: [i386] exp missing underflows
+ [18966] math: [i386] exp10 missing underflows
+ [18967] math: math.h XSI POSIX namespace (gamma, isnan, scalb)
+ [18969] build: multiple string test failures due to missing locale
+ dependencies
+ [18970] libc: Reference of pthread_setcancelstate in libc.a
+ [18977] math: float / long double Bessel functions not in XSI POSIX
+ [18980] math: i386 libm functions return with excess range and precision
+ [18981] math: i386 scalb*, ldexp return with excess range and precision
+ [18982] stdio: va_list and vprintf
+ [18985] time: Passing out of range data to strftime() causes a segfault
+ (CVE-2015-8776)
+ [19003] math: [x86_64] fma4 version of pow inappropriate contraction
+ [19007] libc: FAIL: elf/check-localplt with -z now and binutils 2.26
+ [19012] locale: iconv_open leaks memory on error path
+ [19016] math: clog, clog10 inaccuracy
+ [19018] nptl: Mangle function pointers in tls_dtor_list
+ [19032] math: [i386] acosh (-qNaN) spurious "invalid" exception
+ [19046] math: ldbl-128 / ldbl-128ibm lgamma bad overflow handling
+ [19048] malloc: malloc: arena free list can become cyclic, increasing
+ contention
+ [19049] math: [powerpc] erfc incorrect zero sign
+ [19050] math: [powerpc] log* incorrect zero sign
+ [19058] math: [x86_64] Link fail with -fopenmp and -flto
+ [19059] math: nexttoward overflow incorrect in non-default rounding modes
+ [19071] math: ldbl-96 lroundl incorrect just below powers of 2
+ [19074] network: Data race in _res_hconf_reorder_addrs
+ [19076] math: [ldbl-128ibm] log1pl (-1) wrong sign of infinity
+ [19077] math: [ldbl-128ibm] logl (1) incorrect sign of zero result
+ [19078] math: [ldbl-128ibm] expl overflow incorrect in non-default
+ rounding modes
+ [19079] math: dbl-64/wordsize-64 lround based on llround incorrect for
+ ILP32
+ [19085] math: ldbl-128 lrintl, lroundl missing exceptions for 32-bit long
+ [19086] manual: posix_fallocate64 documented argument order is wrong.
+ [19088] math: lround, llround missing exceptions close to overflow
+ threshold
+ [19094] math: lrint, llrint missing exceptions close to overflow threshold
+ [19095] math: dbl-64 lrint incorrect for 64-bit long
+ [19122] dynamic-link: Unnecessary PLT relocations in librtld.os
+ [19124] dynamic-link: ld.so failed to build with older assmebler
+ [19125] math: [powerpc32] llroundf, llround incorrect exceptions
+ [19129] dynamic-link: [arm] Concurrent lazy TLSDESC resolution can crash
+ [19134] math: [powerpc32] lround, lroundf spurious exceptions
+ [19137] libc: i386/epoll_pwait.S doesn't support cancellation
+ [19143] nptl: Remove CPU set size checking from sched_setaffinity,
+ pthread_setaffinity_np
+ [19156] math: [ldbl-128] j0l spurious underflows
+ [19164] nptl: tst-getcpu fails with many possible CPUs
+ [19168] math: math/test-ildoubl and math/test-ldouble failure
+ [19174] nptl: PowerPC: TLE enabled pthread mutex performs poorly.
+ [19178] dynamic-link: ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA confuses
+ prelink
+ [19181] math: [i386/x86_64] fesetenv (FE_DFL_ENV), fesetenv
+ (FE_NOMASK_ENV) do not clear SSE exceptions
+ [19182] malloc: malloc deadlock between ptmalloc_lock_all and
+ _int_new_arena/reused_arena
+ [19189] math: [ldbl-128] log1pl (-qNaN) spurious "invalid" exception
+ [19201] math: dbl-64 remainder incorrect sign of zero result
+ [19205] math: bits/math-finite.h conditions do not match math.h and
+ bits/mathcalls.h
+ [19209] math: bits/math-finite.h wrongly maps ldexp to scalbn
+ [19211] math: lgamma functions do not set signgam for -ffinite-math-only
+ for C99-based standards
+ [19212] libc: features.h not -Wundef clean
+ [19213] math: [i386/x86_64] log* (1) incorrect zero sign for -ffinite-
+ math-only
+ [19214] libc: Family and model identification for AMD CPU's are incorrect.
+ [19219] libc: GLIBC build fails for ia64 with missing __nearbyintl
+ [19228] math: [powerpc] nearbyint wrongly clears "inexact", leaves traps
+ disabled
+ [19235] math: [powerpc64] lround, lroundf, llround, llroundf spurious
+ "inexact" exceptions
+ [19238] math: [powerpc] round, roundf spurious "inexact" for integer
+ arguments
+ [19242] libc: strtol incorrect in Turkish locales
+ [19243] malloc: reused_arena can pick an arena on the free list, leading
+ to an assertion failure and reference count corruption
+ [19253] time: tzset() ineffective when temporary TZ did not include DST
+ rules
+ [19266] math: strtod ("NAN(I)") incorrect in Turkish locales
+ [19270] math: [hppa] Shared libm missing __isnanl
+ [19285] libc: [hppa] sysdeps/unix/sysv/linux/hppa/bits/mman.h: missing
+ MAP_HUGETLB and MAP_STACK defines
+ [19313] nptl: Wrong __cpu_mask for x32
+ [19347] libc: grantpt: try to force a specific gid even without pt_chown
+ [19349] math: [ldbl-128ibm] tanhl inaccurate for small arguments
+ [19350] math: [ldbl-128ibm] sinhl spurious overflows
+ [19351] math: [ldbl-128ibm] logl inaccurate near 1
+ [19363] time: x32: times() return value wrongly truncates/sign extends
+ from 32bit
+ [19367] dynamic-link: Improve branch prediction on Silvermont
+ [19369] network: Default domain name not reset by res_ninit when "search"
+ / "domain" entry is removed from resolv.conf
+ [19375] math: powerpc: incorrect results for POWER7 logb with negative
+ subnormals
+ [19385] localedata: bg_BG: time separator should be colon, not comma
+ [19408] libc: linux personality syscall wrapper may erroneously return an
+ error on 32-bit architectures
+ [19415] libc: dladdr returns wrong names on hppa
+ [19432] libc: iconv rejects redundant escape sequences in IBM900, IBM903,
+ IBM905, IBM907, and IBM909
+ [19439] math: Unix98 isinf and isnan functions conflict with C++11
+ [19443] build: build failures with -DDEBUG
+ [19451] build: Make check fails on test-double-vlen2
+ [19462] libc: Glibc failed to build with -Os
+ [19465] math: Wrong code with -Os
+ [19466] time: time/tst-mktime2.c is compiled into an infinite loop with
+ -Os
+ [19467] string: Fast_Unaligned_Load needs to be enabled for Excavator core
+ CPU's.
+ [19475] libc: Glibc 2.22 doesn't build on sparc [PATCH]
+ [19486] math: S390: Math tests fail with "Exception Inexact set".
+ [19529] libc: [ARM]: FAIL: stdlib/tst-makecontext
+ [19550] libc: [mips] mmap negative offset handling inconsistent with other
+ architectures
+ [19590] math: Fail to build shared objects that use libmvec.so functions.
\f
Version 2.22
386, 6420, 7101, 9730, 9732, 9809, 10138, 10149, 10157, 11099, 11257,
11258, 11487, 11532, 11558, 11578, 11634, 11653, 11668, 11697, 11724,
- 11781, 11799, 11820, 11837, 11857, 11869, 11892, 11895, 11901, 11945,
+ 11781, 11799, 11820, 11837, 11857, 11884, 11892, 11895, 11901, 11945,
11947, 11952, 11987, 12052, 12083, 12158, 12178, 12200, 12346, 12350,
12393, 12420, 12432, 12445, 12449, 12453, 12454, 12460, 12469, 12489,
12509, 12510, 12511, 12518, 12527, 12541, 12545, 12551, 12582, 12583,
----------------------------------------------------------------------
Copyright information:
-Copyright (C) 1992-2015 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