Bug 15799 - glibc div() code is broken
glibc div() code is broken
 Status: RESOLVED FIXED None glibc Unclassified libc (show other bugs) 2.18 P2 minor --- Not yet assigned to anyone

 Reported: 2013-07-29 18:53 UTC by Guilliam Xavier 2014-06-13 09:45 UTC (History) 2 users (show) drepper.fsp neleai fweimer: security-

Attachments
Integer division example table ("truncated division" gives column A) (134 bytes, text/plain)
2013-07-29 18:53 UTC, Guilliam Xavier
Details
More examples (3 types of division, plus exact quotient and zero) (333 bytes, text/plain)
2013-08-01 07:43 UTC, Guilliam Xavier
Details

 Note You need to log in before you can comment on or make changes to this bug.
 Guilliam Xavier 2013-07-29 18:53:09 UTC ```Created attachment 7126 [details] Integer division example table ("truncated division" gives column A) Overview: The logic of the code in stdlib/div.c is actually broken relative to all C (and C++) Standards. === It is broken relative to C89 (and C++98/03). === ### CONTEXT (scroll down for actual BUG) ### Given two integer values N and D, with D != 0, let's define q and r: int q = N / D; int r = N % D; The C89 Standard section 3.3.5 Multiplicative operators (as well as the C++98 Standard section 5.6) puts constraints on values of q and r , which can be formulated like this (here using assert informally, and ignoring possible overflows): assert(q * D + r == N); assert(abs(r) < abs(D)); if (N >= 0 && D >= 0) assert(r >= 0); With the first two constraints, there are two possible (q, r) values for each (N, D). The third constraint specifies the choice when neither N nor D is strictly negative, but if either is then the choice is implementation-defined (see attachment for an example). But the standard div function has specified semantics in all cases (section 4.10.6.2 The div function). Its (q, r) output is under the same three constraints as above, plus a fourth, which can be expressed as: assert(abs(q * D) <= abs(N)); or equivalently: assert((r < 0) == (N < 0)); // sign(r) == sign(N) In effect, this is the behaviour of "truncated division", where q has any fractional part discard (is truncated towards 0) and r has the same sign as N. ### BUG ### Now, looking at the code at http://sourceware.org/git/?p=glibc.git;a=blob;f=stdlib/div.c;h=44a30a7ea485a9eef38fb4ffe6aaebdc06468b3b;hb=HEAD you actually find that it only handles one of the three possible "wrong" cases (relative to the attached example, it handles (33, -5) yielding (-7, -2), and corrects it to (-6, 3), but it does not handle (-33, 5) yielding (-7, 2), nor (-33, -5) yielding (7, 2)). It is difficult to give a test case, as a real one would require different machines with different types of built-in division. What I did is copy-paste the code (and change the function name), manually set the values of numer and denom and force the "wrong" answer for result.quot and result.rem, and assert the expected results before the return. === It is also "broken" relative to C99/11 (and C++11). === In newer versions of the Standard, the built-in integer division (used by / and % operators) has specified semantics in all cases (C99 section 6.5.5): the quotient is always truncated towards 0 and (equivalently) the remainder always has the same sign as the numerator (dividend). This means that div(numer, denom) should simply return the results of numer / denom and numer % denom directly (C99 section 7.20.6.2), and the old incomplete run-time test-and-adjustment code (and the obsolete comment block) should be removed entirely. Currently, the code is needlessly complex and (potentially) inefficient. Additional information: The original implementor himself, Chris Torek, confirmed the issue: http://stackoverflow.com/a/17901906/688659 The linked page also contains links to "fix attempts" but none seems completely correct.``` Guilliam Xavier 2013-07-31 09:13:09 UTC ```* I must make a small correction: assert(abs(q * D) <= abs(N)); is correct, but the following is actually not strictly equivalent: assert((r < 0) == (N < 0)); // sign(r) == sign(N) because we can have N == -10, D == 5 and q == -2, r == 0 (the quotient is exact), so I think a corrected equivalent would be rather: assert(r == 0 || (r < 0) == (N < 0)); (And just after that: typo: "discard" -> "discarded".)``` Guilliam Xavier 2013-08-01 07:43:32 UTC ```Created attachment 7133 [details] More examples (3 types of division, plus exact quotient and zero)``` Sourceware Commits 2013-10-30 15:08:54 UTC ``` via bbea82f7fe8af40fd08e8956e1aaf4d877168652 (commit) from 977f4b31b7ca4a4e498c397f3fd70510694bbd86 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=bbea82f7fe8af40fd08e8956e1aaf4d877168652 commit bbea82f7fe8af40fd08e8956e1aaf4d877168652 Author: Ondřej Bílka Date: Wed Oct 30 16:07:15 2013 +0100 Remove code from div that is by C99 obsolete. Fixes bug 15799 ----------------------------------------------------------------------- Summary of changes: ChangeLog | 7 +++++++ NEWS | 8 ++++---- stdlib/div.c | 22 ---------------------- stdlib/ldiv.c | 22 ---------------------- stdlib/lldiv.c | 22 ---------------------- 5 files changed, 11 insertions(+), 70 deletions(-)``` Ondrej Bilka 2013-10-30 15:09:53 UTC `Fixed.` Sourceware Commits 2014-02-07 10:55:04 UTC ```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 "GNU C Library master sources". The annotated tag, glibc-2.19 has been created at 62acb0ba856abf4a2a173e4b49c28749af7bd572 (tag) tagging 9a869d822025be8e43b78234997b10bf0cf9d859 (commit) replaces glibc-2.18 tagged by Allan McRae on Fri Feb 7 19:12:54 2014 +1000 - Log ----------------------------------------------------------------- The GNU C Library ================= The GNU C Library version 2.19 is now available. The GNU C Library is used as *the* C library in the GNU systems and most systems with the Linux 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.19 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.19 ===================== * The following bugs are resolved with this release: 156, 387, 431, 762, 832, 926, 2801, 4772, 6786, 6787, 6807, 6810, 6981, 7003, 9721, 9954, 10253, 10278, 11087, 11157, 11214, 12100, 12486, 12751, 12986, 13028, 13982, 13985, 14029, 14032, 14120, 14143, 14155, 14286, 14547, 14699, 14752, 14782, 14876, 14910, 15004, 15048, 15073, 15089, 15128, 15218, 15268, 15277, 15308, 15362, 15374, 15400, 15425, 15427, 15483, 15522, 15531, 15532, 15593, 15601, 15608, 15609, 15610, 15632, 15640, 15670, 15672, 15680, 15681, 15723, 15734, 15735, 15736, 15748, 15749, 15754, 15760, 15763, 15764, 15797, 15799, 15825, 15843, 15844, 15846, 15847, 15849, 15850, 15855, 15856, 15857, 15859, 15867, 15886, 15887, 15890, 15892, 15893, 15895, 15897, 15901, 15905, 15909, 15915, 15917, 15919, 15921, 15923, 15939, 15941, 15948, 15963, 15966, 15968, 15985, 15988, 15997, 16032, 16034, 16036, 16037, 16038, 16041, 16046, 16055, 16071, 16072, 16074, 16077, 16078, 16103, 16112, 16143, 16144, 16146, 16150, 16151, 16153, 16167, 16169, 16172, 16195, 16214, 16245, 16271, 16274, 16283, 16289, 16293, 16314, 16316, 16330, 16337, 16338, 16356, 16365, 16366, 16369, 16372, 16375, 16379, 16384, 16385, 16386, 16387, 16390, 16394, 16398, 16400, 16407, 16408, 16414, 16430, 16431, 16453, 16474, 16506, 16510, 16529 * Slovenian translations for glibc messages have been contributed by the Translation Project's Slovenian team of translators. * The public headers no longer use __unused nor __block. This change is to support compiling programs that are derived from BSD sources and use __unused internally, and to support compiling with Clang's -fblock extension which uses __block. * CVE-2012-4412 The strcoll implementation caches indices and rules for large collation sequences to optimize multiple passes. This cache computation may overflow for large collation sequences and may cause a stack or buffer overflow. This is now fixed to use a slower algorithm which does not use a cache if there is an integer overflow. * CVE-2012-4424 The strcoll implementation uses malloc to cache indices and rules for large collation sequences to optimize multiple passes and falls back to alloca if malloc fails, resulting in a possible stack overflow. The implementation now falls back to an uncached collation sequence lookup if malloc fails. * CVE-2013-4788 The pointer guard used for pointer mangling was not initialized for static applications resulting in the security feature being disabled. The pointer guard is now correctly initialized to a random value for static applications. Existing static applications need to be recompiled to take advantage of the fix (bug 15754). * CVE-2013-4237 The readdir_r function could write more than NAME_MAX bytes to the d_name member of struct dirent, or omit the terminating NUL character. (Bugzilla #14699). * CVE-2013-4332 The pvalloc, valloc, memalign, posix_memalign and aligned_alloc functions could allocate too few bytes or corrupt the heap when passed very large allocation size values (Bugzilla #15855, #15856, #15857). * CVE-2013-4458 Stack overflow in getaddrinfo with large number of results for AF_INET6 has been fixed (Bugzilla #16072). * New locales: ak_GH, anp_IN, ar_SS, cmn_TW, hak_TW, lzh_TW, nan_TW, pap_AW, pap_CW, quz_PE, the_NP. * Substantially revised locales: gd_GB, ht_HT * The LC_ADDRESS field was updated to support country_car for almost all supported locales. * ISO 1427 definitions were updated. * ISO 3166 definitions were updated. * The localedef utility now supports --big-endian and --little-endian command-line options to generate locales for a different system from that for which the C library was built. * Binary locale files now only depend on the endianness of the system for which they are generated and not on other properties of that system. As a consequence, binary files generated with new localedef may be incompatible with old versions of the GNU C Library, and binary files generated with old localedef may be incompatible with this version of the GNU C Library, in the following circumstances: + Locale files may be incompatible on m68k systems. + Locale archive files (but not separate files for individual locales) may be incompatible on systems where plain "char" is signed. * The configure option --disable-versioning has been removed. Builds with --disable-versioning had not worked for several years. * ISO 639 definitions were updated for Chiga (cgg) and Chinese (gan, hak, czh, cjy, lzh, cmn, mnp, cdo, czo, cpx, wuu, hsn, yue). * SystemTap probes for malloc have been introduced. * SystemTap probes for slow multiple precision fallback paths of transcendental functions have been introduced. * Support for powerpc64le has been added. * The soft-float powerpc port now supports e500 processors. * Support for STT_GNU_IFUNC symbols added for ppc32/power4+ and ppc64. * A new feature test macro _DEFAULT_SOURCE is available to enable the same set of header declarations that are enabled by default, even when other feature test macros or compiler options such as -std=c99 would otherwise disable some of those declarations. * The _BSD_SOURCE feature test macro no longer enables BSD interfaces that conflict with POSIX. The libbsd-compat library (which was a dummy library that did nothing) has also been removed. * Preliminary documentation about Multi-Thread, Async-Signal and Async-Cancel Safety has been added. 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: Adam Buchbinder Adam Conrad Adhemerval Zanella Alan Modra Alexandre Oliva Allan McRae Andreas Arnez Andreas Jaeger Andreas Krebbel Andreas Schwab Andrew Hunter Andrew Pinski Anton Blanchard Arun Kumar Pyasi Aurelien Jarno Brooks Moses Bruno Haible Carlos O'Donell Chris Leonard Chris Metcalf Chung-Lin Tang David Holsgrove David S. Miller Eric Biggers Eric Blake Eric Wong Fabrice Bauzac Fernando J. V. da Silva Florian Weimer Guy Martin H.J. Lu Jan Kratochvil Jia Liu Joseph Myers Kaz Kojima Liubov Dmitrieva Maciej W. Rozycki Marc-Antoine Perennou Marcus Shawcroft Marko Myllynen Markus Trippelsdorf Maxim Kuvyrkov Meador Inge Michael Bauer Michael Stahl Mike Frysinger Olivier Langlois Ondřej Bílka Patrick 'P. J.' McDermott Paul Eggert Paul Pluzhnikov Pavel Simerda Petr Machata Rajalakshmi Srinivasaraghavan Reuben Thomas Richard Henderson Richard Sandiford Roland McGrath Ryan S. Arnold Sami Kerola Samuel Thibault Siddhesh Poyarekar Stefan Liebler Steve Ellcey Thomas Schwinge Toke Høiland-Jørgensen Tom Tromey Torvald Riegel Ulrich Weigand Uros Bizjak Venkataramanan Kumar Ville Skytta Vinitha Vijayan Wei-Lun Chao Will Newton Yogesh Chaudhari Yuri Chornoivan Yuriy Kaminskiy -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQEcBAABAgAGBQJS9KOqAAoJEPmf/g/q6Zm9L9oIAK0E6xw+8e/b2rs5EkdCcdvz upglZ/Vl7rDM0krIZrI14Q0ZQKpYr8+k8MjlktvytaG5qMEFLAFFEquzksB8bnRj 52GfMIfiP+UGU3sQoSHFaAHlPXhycF2H7XhpH/zJ7he46eaoaOL13tOxDurdk3Z1 vzStBnIOm9cpMkSg+Cs4RGlXGhlvJvay1a6whhE7zsv/EXg0mCoYQpYQrTNkCdjv ugtWtta+URBSZHl49batzZz+WZ5yQzRIubXGqC44ofm6r+tIgJ4t2/vo64qnA/1+ 63y0Zxk1+xl8fcxvqibw5LeY2GN1hGBvkhVR4bh4mmHsLGIwvCF5ZavKDREl638= =MNMJ -----END PGP SIGNATURE----- Adam Buchbinder (1): soft-fp: fix typo in comment. Adam Conrad (1): Fix incorrect ChangeLog formatting Adhemerval Zanella (113): PowerPC: fix backtrace to handle signal trampolines Add memrchr testcase PowerPC: fix POWER7 memrchr for some large inputs benchtests: Add memrchr benchmark Update powerpc-fpu ULPs. PowerPC: Fix POINTER_CHK_GUARD thread register for PPC64 PowerPC: strcpy/stpcpy optimization for PPC64/POWER7 Fix ChangeLog date. PowerPC: Fix vDSO missing ODP entries benchtests: Add strtod benchmark PowerPC: Fix __fe_mask_env export PowerPC: Fix __fe_mask_env export PowerPC: Set/restore rounding mode only when needed PowerPC: Fix __fe_nomask_env missing symbol Update powerpc-fpu ULPs. Update powerpc-fpu ULPs. Fix elf/get-dynamic-info.h for AT PowerPC: Add systemtap static probe points in setjmp/longjmp Revert wrong commit. Update powerpc-fpu ULPs. PowerPC: initial support for multilib for PowerPC32 PowerPC: multiarch memcpy for PowerPC32 PowerPC: multiarch memcmp for PowerPC32 PowerPC: multiarch memset/bzero for PowerPC32 PowerPC: multiarch mempcpy for PowerPC32 PowerPC: multiarch memchr for PowerPC32 PowerPC: multiarch memrchr for PowerPC32 PowerPC: multiarch rawmemchr for PowerPC32 PowerPC: multiarch strlen for PowerPC32 PowerPC: multiarch strnlen for PowerPC32 PowerPC: multiarch strncmp for PowerPC32 PowerPC: multiarch strcasecmp for PowerPC32 PowerPC: multiarch strncasecmp for PowerPC32 PowerPC: multiarch strchrnul for PowerPC32 PowerPC: multiarch strchr for PowerPC32 PowerPC: multiarch wcschr for PowerPC32 PowerPC: multiarch wcsrchr for PowerPC32 PowerPC: multiarch wcscpy for PowerPC32 PowerPC: multiarch wordcopy routines for PowerPC32 PowerPC: change sysdeps fpu folder PowerPC: multiarch llrint/llrintf for PowerPC32 PowerPC: multiarch llround/llroundf for PowerPC32 PowerPC: multiarch sqrt/sqrtf for PowerPC32 PowerPC: multiarch isnan/isnanf for PowerPC32 PowerPC: multiarch isinf/isinff for PowerPC32 PowerPC: multiarch finite/finitef for PowerPC32 PowerPC: multiarch ceil/ceilf for PowerPC32 PowerPC: multiarch floor/floorf for PowerPC32 PowerPC: multiarch round/roundf for PowerPC32 PowerPC: multiarch trunc/truncf for PowerPC32 PowerPC: multiarch copysign/copysignf for PowerPC32 PowerPC: multiarch lround/lrounf for PowerPC32 PowerPC: multiarch lrint/lrintf for PowerPC32 PowerPC: multiarch modf/modff for PowerPC32 PowerPC: multiarch logb/logbf/logbl for PowerPC32 PowerPC: multiarch __ieee754_hypot[f] for PowerPC32 PowerPC: Adjust multiarch Implies for PowerPC32 PowerPC: Update NEWS with ppc32/power4+ STT_GNU_IFUNC support PowerPC: Optimized mpn functions for PowerPC64 PowerPC: Optimized mpn functions for PowerPC64/POWER7 Update powerpc-fpu ULPs. Add GLIBC_2.3 and GLIBC_2.19 in Versions.def PowerPC: Add DSO and TAR fields to TLS PowerPC: Adjust multiarch Implies for PowerPC64 PowerPC: multiarch memcpy for PowerPC64 PowerPC: multirach memcmp for PowerPC64 PowerPC: multiarch memset/bzero for PowerPC64 PowerPC: multiarch mempcpy for PowerPC64 PowerPC: multiarch memchr for PowerPC64 PowerPC: multiarch memrchr for PowerPC64 PowerPC: multiarch rawmemchr for PowerPC64 PowerPC: multiarch strlen for PowerPC64 PowerPC: multiarch strnlen for PowerPC64 PowerPC: multiarch strcasecmp for PowerPC64 PowerPC: multiarch strncasecmp for PowerPC64 PowerPC: multiarch strncmp for PowerPC64 PowerPC: multiarch strchr for PowerPC64 PowerPC: multiarch strchrnul for PowerPC64 PowerPC: multiarch wcschr for PowerPC64 PowerPC: multiarch wcsrchr for PowerPC64 PowerPC: multiarch wcscpy for PowerPC64. PowerPC: multiarch wordcopy for PowerPC64 PowerPC: multiarch strcpy for PowerPC64 PowerPC: multiarch stpcpy for PowerPC64 PowerPC: Cleaning up uneeded sqrt routines PowerPC: Adjust multiarch Implies for PowerPC64 PowerPC: multiarch isnan/isnanf for PowerPC64 PowerPC: multiarch llround/lround for PowerPC64 PowerPC: multiarch ceil/ceilf for PowerPC64 PowerPC: multiarch floor/floorf for PowerPC64 PowerPC: multiarch round/roundf for PowerPC64 PowerPC: multiarch trunc/truncf for PowerPC64 PowerPC: multiarch copysign/copysignf for PowerPC64 PowerPC: multiarch llrint/lrint for PowerPC64 PowerPC: multiarch finite/finitef for PowerPC64 PowerPC: multiarch isinf/isinff for PowerPC64 PowerPC: multiarch logb/logbl/logbf for PowerPC64 PowerPC: multiarch modf/modff for PowerPC64 PowerPC: multiarch hypot/hypotf for PowerPC64 PowerPC: Update NEWS with ppc64 STT_GNU_IFUNC support Update powerpc-fpu ULPs. Update powerpc-fpu ULPs. Update powerpc-fpu ULPs. PowerPC: Fix compiler warnings Update powerpc-fpu ULPs. PowerPC: remove wrong truncl implementation for PowerPC64 PowerPC: sotruss-lib implementation PowerPC: Fix ftime gettimeofday internal call returning bogus data Add BZ#16430 to NEWS. PowerPC: Fix gettimeofday ifunc selection abilist-pattern configurability PowerPC: Change powerpc64le start ABI to 2.17. PowerPC: powerpc64le abilist for 2.17 Alan Modra (36): IBM long double mechanical changes to support little-endian Fix for [BZ #15680] IBM long double inaccuracy PowerPC floating point little-endian [1 of 15] PowerPC floating point little-endian [2 of 15] PowerPC floating point little-endian [3 of 15] PowerPC floating point little-endian [4 of 15] PowerPC floating point little-endian [5 of 15] PowerPC floating point little-endian [6 of 15] PowerPC floating point little-endian [9 of 15] PowerPC floating point little-endian [10 of 15] PowerPC floating point little-endian [11 of 15] PowerPC floating point little-endian [12 of 15] PowerPC floating point little-endian [13 of 15] PowerPC floating point little-endian [15 of 15] PowerPC ugly symbol versioning PowerPC LE _dl_hwcap access PowerPC makecontext PowerPC SIGSTKSZ PowerPC LE strlen PowerPC LE strnlen PowerPC LE strcmp and strncmp PowerPC LE strcpy PowerPC LE strchr PowerPC LE memcmp PowerPC LE memcpy PowerPC LE memset PowerPC LE memchr and memrchr string/test-memcpy error reporting string/tester memrchr test PowerPC LE configury fix changelog date Correct little-endian relocation of UADDR64,32,16. Use stdint.h types in union unaligned. Mention powerpc64le support in NEWS and README, plus bugs fixed. Fix careless merge. PowerPC64: Report overflow on @h and @ha relocations Alexandre Oliva (51): PR 15483 Add first set of memory probes. Add probes for all changes to malloc options. Add probes for malloc arena changes. Add probes for malloc retries. Add catch-all alloc retry probe. Add malloc probes for sbrk and heap resizing. Mention malloc probes in the NEWS file. * manual/macros.texi: Introduce macros to document multi * manual/argp.texi: Document MTASC-safety properties. * manual/arith.texi: Document MTASC-safety properties. * manual/conf.texi: Document MTASC-safety properties. * manual/crypt.texi: Document MTASC-safety properties. * manual/charset.texi: Document MTASC-safety properties. * manual/debug.texi: Document MTASC-safety properties. * manual/ctype.texi: Document MTASC-safety properties. * manual/getopt.texi: Document MTASC-safety properties. * manual/job.texi: Document MTASC-safety properties. * manual/lang.texi: Document MTASC-safety properties. * manual/libdl.texi: New. * manual/llio.texi: Document MTASC-safety properties. * manual/locale.texi: Document MTASC-safety properties. * manual/math.texi: Document MTASC-safety properties. [BZ #12751] * manual/message.texi: Document MTASC-safety properties. * manual/pattern.texi: Document MTASC-safety properties. * manual/pipe.texi: Document MTASC-safety properties. * manual/platform.texi: Document MTASC-safety properties. * manual/process.texi: Document MTASC-safety properties. * manual/resource.texi: Document MTASC-safety properties. * manual/search.texi: Document MTASC-safety properties. * manual/setjmp.texi: Document MTASC-safety properties. * manual/signal.texi: Document MTASC-safety properties. * manual/socket.texi: Document MTASC-safety properties. * manual/startup.texi: Document MTASC-safety properties. * manual/sysinfo.texi: Document MTASC-safety properties. * manual/syslog.texi: Document MTASC-safety properties. * manual/stdio.texi: Document MTASC-safety properties. * manual/threads.texi: Document MTASC-safety properties. * manual/string.texi: Document MTASC-safety properties. * manual/time.texi: Document MTASC-safety properties. * manual/string.texi (wcstok): Fix prototype. * manual/intro.texi: Document safety identifiers and * manual/errno.texi: Document MTASC-safety properties. * manual/filesys.texi: Document MTASC-safety properties. * manual/terminal.texi: Document MTASC-safety properties. * manual/check-safety.sh: New. * manual/time.texi (timegm): Add missing blank after @c. * manual/threads.texi (pthread_key_create, pthread_key_delete, * manual/users.texi: Document MTASC-safety properties. * manual/macros.texi: Add comments before MTASC-safety macros. Allan McRae (43): Update to latest versions of GPL-2.0 and LGPL-2.1 Fix nesting of ifdefs in netgroupcache.c Fix memory leaks in libio on allocation failure Fix memory leak in stdlib/isomac.c Fix typo in strcoll example Update pt_chown sections of the manual Clarify documentation cross-reference Remove references to non-existent content items in install.texi Revert "Remove references to non-existent content items in install.texi" Fix incorrect getaddrinfo assertion trigger Fix ChangeLog formatting issue Add missing bug number to NEWS Add systemd unit file for nscd Add --enable-maintainer-mode configure option Update file name in x86_64 ifunc list Set AUTOCONF variable when maintainer-mode is not used Stop partial menu generation in INSTALL file Fix typo in csloww() Update copyright notices with scripts/update-copyrights Update remaining copyright dates scripts/update-copyrights: adjust configure input file suffix Fix gettext call formatting Regenerate libc.po Fix typo in inet/netinet/in.h comment Update Ukrainian translations Update Russian translations Update Polish translations Update Dutch translations Update Czech translations Update Esperanto translations Update Vietnamese translations Update Swedish translations Update German translations Update Bulgarian translations Update Catalan translations Update French translations Update Slovenian translations Revert "Async-signal safe TLS." Revert "Patch 2/4 of the effort to make TLS access async-signal-safe." Revert "Patch 3/4 of the effort to make TLS access async-signal-safe." Revert "Patch [1/4] async-signal safe TLS." Revert "BZ 16133 has been fixed (async signal safe TLS)." Update version.h and include/features.h for 2.19 release Andreas Arnez (1): * elf/setup-vdso.h (setup_vdso): Fix missing string termination. Andreas Jaeger (1): Update ULPs for i386 Andreas Krebbel (9): * sysdeps/unix/sysv/linux/s390/sys/procfs.h (struct elf_prstatus): [BZ #16214] S/390: Fix TLS GOT pointer setup. S/390: Make jmp_buf extendible. S/390: Make ucontext_t extendible. S/390: Get rid of unused variable warning in dl-machine.h S/390: Remove __tls_get_addr argument cast. S/390: Regenerate ULPs. [BZ #16427] Fix ldbl-128 exp overflows. S/390: Merge 32 and 64 bit ucontext.h. Andreas Schwab (28): Fix cbrtl for ldbl-96 Fix dependencies for stdlib/tst-tls-atexit Fix handling LC_CTYPE nonascii-case fallback in i686 SSE4.2 and SSSE3 strcasecmp/strncasecmp Fix missing declaration of LC_CTYPE nonascii-case element Add O_TMPFILE to Make __ffs hidden Properly cache the result from looking up the nss database config m68k: use PIC for Scrt1.o Fix typo in last change Don't use gethostbyaddr to determine canonical name Let tst-swscanf find its locale Fix parsing of 0e+0 as float Refill NEWS Fix BZ reference Restore ChangeLog Fix off-by-one in nscd getservbyport call Fix country_num element in LC_ADDRESS for C locale Properly handle unavailable elements in LC_MONETARY category Complete display of LC_MONETARY Fix CFI annotations in pthread_cond_timedwait for i486+ ChangeLog fix m68k: don't assume PI futexes before 3.10 m68k: add support for PI futexes m68k: use math_force_eval in nextafterl Remove use of SSE4.2 functions for strstr on i686 Fix uses of CALL_MCOUNT in ppc64 assembler sources Let gen-libm-test.pl find itself when run outside source directory m68k: regenerate libm test ULPs Andrew Hunter (1): Async-signal safe TLS. Andrew Pinski (1): [AArch64] Fix BE access to errno. Anton Blanchard (4): PowerPC floating point little-endian [7 of 15] PowerPC floating point little-endian [8 of 15] PowerPC floating point little-endian [14 of 15] PowerPC LE setjmp/longjmp Arun Kumar Pyasi (1): New locale for the_NP. Aurelien Jarno (4): MIPS: Add wrappers to get/setrlimit64 to fix RLIM64_INFINITY constant MIPS: Fix RLIM64_INFINITY constant for O32 and N32 ABIs locale: don't crash if locale-archive contains all zeros Add bug number to ChangeLog and NEWS Brooks Moses (5): Fix erroneous (and circular) implied pattern rule for linkobj/libc.so. Add error reporting (via errno) to getauxval(). Updated NEWS to mention resolution of bug 15846. Define __CORRECT_ISO_CPP_STRING_H_PROTO correctly for Clang. Obvious comment typo fix ("openened") in elf/dl-load.c. Bruno Haible (1): Fix description of random according to POSIX. Fixes bug 7003 Carlos O'Donell (19): ARM: Pass dl_hwcap to IFUNC resolver. Coordinate IPv6 definitions for Linux and glibc Copy-edit NEWS and fixup ChangeLog entries. BZ #15754: CVE-2013-4788 BZ #15754: Fix test case for ARM. Enhance localedef --list-archive option. Mention FIPS 140-2 compliance and Sun RPC. Fix typo in sys/ptrace.h. NEWS: Mention __unused and __block removal. NEWS: Only public headers have __unused/__block changed. Add test case for pthread_[sg]etname_np. Add Solvenian translations for glibc messages. Rename header.pot to pot.header. Add BZ #15850 to ChangeLog. Fix manual build warnings. [hppa] Regenerate libm-test-ulps. Fix tst-setgetname for Linux kernels < 2.6.33. Fix comment in kernel-features.h. BZ #16529: Fix pedantic warning with netinet/in.h. Chris Leonard (57): Add quz_PE locale Update ht_HT locale Update iso-1427.def and related occurrences. Update iso-1427.def and related occurrences. Deduplicate country_car. ChangeLog entry for Deduplicate country_car. Fix trailing whitespace Add country_car field to LC_ADDRESS. Adjust language-code fields of LC_ADDRESS. Update iso-639.def Update Changelog and NEWS correct bug list in NEWS New locale for ak_GH. Adjust language-code fields of LC_ADDRESS. Fix ayc_PE.UTF-8 and lzh_TW.UTF-8 build issues Update iso-1366.def and related occurrences Split ar_SD into ar_SD and ar_SS Copy / modify pap_AN into pap_AW and pap_CW. Correct error in iso-3166.def Fix typos in 3166.def. Adjust language-code fields of LC_ADDRESS. Fix ar_SS in SUPPORTED remove localdata path from Changelog entries Fixes to Changelog for locale splits correct LC_TELEPHONE for pap locales Adjust language-code fields of LC_ADDRESS. Adjust language-code fields of LC_ADDRESS. New-locale-for-anp_IN Add Meadow Mari (mhr). Adjust language-code fields of LC_ADDRESS. Add Central Nahuatl (nhn). Adjust language-code fields of LC_ADDRESS. Adjust language-code fields of LC_ADDRESS. Add Quechua, Southern (quz) and Silesian (szl) to iso-639.def. Adjust language-code fields of LC_ADDRESS. Adjust language-code fields of LC_ADDRESS. Correct Walaita (wal) and add Unami Delaware (unm). Adjust language-code fields of LC_ADDRESS. [BZ #16103] LC_MEASUREMENT review and standardization [BZ #16143] pap_* locales have duplicated LC_NUMERIC section. Add Chitwani Tharu (the) Correct wae_CH to UTF-8 encoding. [BZ #16144] Duplicated abday value for tk_TM. Add lang_name to Arabic locales. Add lang_name to German, English, Spanish, French locales. Add lang_name to various locales. Add lang_name to various locales. revert error-generated by bs_BA. Add lang_name to various locales. Add lang_name to various locales. revert hebrew lang_name addition revert hebrew lang_name addition Add lang_name to various locales. Add lang_name to various locales. Add lang_name to various locales. fix localedata/ChangeLog Add lang_name to various locales. Chris Metcalf (3): Mention bug 15760 in NEWS (duplicate of 15988, just added to NEWS) test-fpucw-ieee: Don't use _FPU_IEEE if not defined tile: Regenerate libm-test-ulps Chung-Lin Tang (1): linux-generic: fix alignment of struct stat/statfs for nios2 David Holsgrove (4): microblaze: Use fallback functions microblaze BZ #15705: Define MMAP2_PAGE_SHIFT microblaze: Update libm-test-ulps Revert "microblaze BZ #15705: Define MMAP2_PAGE_SHIFT" David S. Miller (11): Open development for 2.19. Update Catalan translations. Add Ukrainian translations. Update Chinese (traditional) translations. Update sparc ULPs. Fix readdir regressions on sparc 32-bit. Fix build on pre-v9 32-bit Sparc. Fix sparc 64-bit GMP ifunc resolution in static builds. Rebuild sparc ULPs. Adjust sparc ULPs. Add missing ChangeLog from yesterday's sparc ULPs update. Eric Biggers (1): Fix fwrite() reading beyond end of buffer in error path Eric Blake (2): glob: silence -Wattribute warnings maint: correct changelog Eric Wong (2): Update x86_64 ULPs (AMD Family 10h) Update x86_64 ULPs (AMD family 21, model 2) Fabrice Bauzac (1): Document that mmap() returns MAP_FAILED on error, as per the POSIX standard. Fernando J. V. da Silva (1): Fix BZ #15089: malloc_trim always trim for large padding. Florian Weimer (1): CVE-2013-4237, BZ #14699: Buffer overflow in readdir_r Guy Martin (1): Don't use broken DL_AUTO_FUNCTION_ADDRESS() H.J. Lu (4): Set arch_minimum_kernel to 3.4.0 for x32 Don't check asynchronous cancellation on system Include generic symbol-hacks.h for x32 Disable x87 inline functions for SSE2 math Jan Kratochvil (2): Fix vDSO l_name for GDB's: Can't read pathname for load map: Input/output error. Put Bug # to the NEWS file for the previous vDSO l_name fix. Jia Liu (1): sunrpc/rpc/types.h: fix OS X and FreeBSD build problems Joseph Myers (128): Remove trailing blank lines when generating INSTALL. Use __getpagesize and __ffs in MMAP2_PAGE_SHIFT == -1 case of mmap64. Include in sysdeps/unix/sysv/linux/mmap64.c. Fix cproj handling of (finite, NaN) arguments (bug 15531). Fix fdim handling of infinities (bug 15797). Add bug 15867 to NEWS. Fix cexp (NaN + i0) (bug 15532). Fix spurious jnf underflows (bug 14155). Fix lgammaf spurious underflow (bug 15427). Remove --disable-versioning. conformtest: Fix namespace testing. Define MMAP2_PAGE_SHIFT to -1 for m68k. Mention --disable-versioning removal in NEWS. Fix powerpc fpu_control.h namespace and parenthesis issues (bug 15966). Don't force -msoft-float for powerpc --without-fp. e500 port: setjmp/longjmp. e500 port: fpu_control.h. Make locale archive hash function architecture-independent. Add localedef --big-endian and --little-endian options. conformtest: Clean up expectations for POSIX for pthread.h. conformtest: Clean up expectations for POSIX for sched.h. Remove locale file dependence on int32_t alignment. Hardcode locale archive page size as 4096. e500 port: getcontext / setcontext / swapcontext. e500 port: fix fpu_control.h constant values. e500 port: adjust sysdeps/unix/sysv/linux/configure.in case. Move powerpc ports pieces to libc. Clean up locale file alignment handling. soft-fp: Remove trailing semicolon from _FP_FRAC_DISASSEMBLE_4. soft-fp: fix negation NaN handling (bug 16034). soft-fp: split FP_INIT_EXCEPTIONS from FP_INIT_ROUNDMODE. Avoid ordered comparisons of NaNs in ldbl-128ibm acosl and asinl. Extend powerpc-nofpu -fno-builtin-fabsl workaround to more files. Add soft-fp files from libgcc. Update copyright and license notices in soft-fp files from libgcc. soft-fp: fix floating-point to integer unsigned saturation. soft-fp: fix _FP_DIV_MEAT_* returning results with wrong exponent (bug 16032). soft-fp: add macro FP_NO_EXCEPTIONS. soft-fp: add missing FP_INIT_EXCEPTIONS and FP_INIT_ROUNDMODE calls. soft-fp: make ordered comparisons raise "invalid" for quiet NaNs (bug 14910). soft-fp: make __unord* raise "invalid" for signaling NaNs (bug 16036). soft-fp: fix preprocessor indentation. soft-fp: fix vertical whitespace and indentation. soft-fp: remove unused macros. soft-fp: fix horizontal whitespace. soft-fp: make extensions quiet signaling NaNs (bug 16041). Remove duplicate bug numbers from NEWS. Add e500 port. Move entries to correct port ChangeLog files. Add some more NEWS items. Define __STDC_IEC_559* based on __GCC_IEC_559*. Fix strtod rounding of half the least subnormal (bug 16151). Fix spurious "inexact" exceptions from x86 pow with NaN argument (bug 16167). Make libm-test.inc check for "inexact" exceptions for NaN argument. Replace libm-test.inc TEST_INLINE conditionals with NO_TEST_INLINE flag. Add libm-test support for ignored return value, add more lrint / llrint / lround / llround tests. Test signs of NaNs in libm-test.inc where appropriate. Define TLS version of libc_hidden_proto. Make powerpc-nofpu floating-point state thread-local (bug 15483). Fix powerpc-nofpu build. Add bug 11214 to NEWS. Fix bug ordering in NEWS. Fix dbl-64 e_sqrt.c for non-default rounding modes (bug 16271). Document some libm error handling intents. Add powerpc-nofpu/e500 support functions for atomic compound assignment and FLT_ROUNDS. Remove unused ldbl-96 functions (bug 15004). Document libm accuracy goals. Start generating libm tests automatically with MPFR. Test sqrt in all rounding modes. Fix x86 sqrt rounding (bug 14032). Fix exp10 errno setting on underflow (bug 6787). Move TEST_f_f tests for [a-c]* functions from libm-test.inc to auto-libm-test-in. Move TEST_f_f tests for [e-j]* functions from libm-test.inc to auto-libm-test-in. Fix erfc errno setting on underflow (bug 6786). Fix exp2 errno setting on underflow (bug 16283). Fix exp missing underflows (bug 15268, bug 15425). Update MIPS dl-lookup.c from generic version. Fix Bessel function error handling (bug 6807, bug 15901). Add missing bug numbers (12486, 15915, 16038) to NEWS. Update longlong.h from GCC. Move TEST_f_f tests for [l-y]* functions from libm-test.inc to auto-libm-test-in. Fix tgamma errno setting on underflow (bug 6810). Move tests of lgamma from libm-test.inc to auto-libm-test-in. Add missing bug number to NEWS. Move tests of atan2, hypot and pow from libm-test.inc to auto-libm-test-in. Fix hypot handling of subnormals (bug 16316, bug 16330). Fix dbl-64 hypot spurious underflows (bug 16314). Remove __FAVOR_BSD. Remove libbsd-compat dummy library. Remove various unused files from sysdeps/unix/bsd/. Remove unused files from sysdeps/unix/bsd/bsd4.4/bits/. Fix ldbl-128 logl for subnormals (bug 16338). Mark some hypot tests no-test-inline. Update powerpc-nofpu localplt.data for fegetround hidden_proto / hidden_def. Move tests of jn and yn from libm-test.inc to auto-libm-test-in. Add _DEFAULT_SOURCE feature test macro. Fix x86/x86_64 expm1 inaccuracy near 0 in directed rounding modes (bug 16293). Disable libm-test test name beautification for M_* constants. Move tests of sincos from libm-test.inc to auto-libm-test-in. Update texinfo.tex, config.guess, config.sub from upstream. Don't make soft-fp symbols compat symbols for powerpc-nofpu. Move tests of cabs and carg from libm-test.inc to auto-libm-test-in. Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc. Move tests of cpow from libm-test.inc to auto-libm-test-in. Update timezone code from tzcode 2013i. Revert spurious copying of ChangeLog to localedata/ChangeLog. Add more libm-test coverage of [a-c]* real functions. Fix x86 / x86_64 expl / expl10l wild results in directed rounding modes (bug 16356). Flatten sysdeps/unix/bsd/bsd4.4 into sysdeps/unix/bsd. Fix ldbl-128 lgammal for small negative arguments (bug 16337). Regenerate x86 / x86_64 ulps. Regenerate MIPS ulps. Regenerate ARM ulps. Fix ldbl-128ibm acoshl inaccuracy (bug 16384). Fix ldbl-128ibm asinhl inaccuracy (bug 16385). Fix ldbl-128ibm logl inaccuracy (bug 16386). Mark various libm tests with xfail-rounding:ldbl-128ibm. Regenerate powerpc-nofpu ulps. Fix soft-float ldbl-128ibm atan2l signs of zero results (bug 16390). Fix ldbl-128 / ldbl-128ibm lgammal spurious underflow (bug 16400). Fix ldbl-128ibm coshl spurious overflows (bug 16407). Mark more libm tests with xfail-rounding:ldbl-128ibm. Regenerate powerpc-nofpu ulps (again). Use separate libc.abilist for MIPS o32 soft float. Fix ldbl-128ibm expm1l on large arguments (bug 16408). Fix math/test-fpucw-*.c for sysdeps test-fpucw.c overrides. Bug 6981 was fixed by commit 1484e65736f4cab27e5051e0f06be8470e69af82. Bug 15968 was fixed by commit 0748546f660d27a2ad29fa6174d456e2f6490758. Kaz Kojima (11): Add SH implementation of stackguard-macros.h. Add ChangeLog entry for new sysdeps/sh/stackguard-macros.h. Add SH implementation of sotruss-lib.c and c++-types.data. Use \$\$ver instead of \$ver. Move sysdeps/sh/sh4/fpu/bits/fenv.h to sysdeps/sh/bits/. Make soft-float sh use soft-fp fma/fmaf. Adjust SH specific fpu_control.h and ucontext.h files. Restore ucontext ABI for soft-float sh4. Move SH libm-test-ulps to sysdeps/sh and regenerate it. Regenerate SH libm-test-ulps with proper compiler options. Add -mieee to SH sysdep-CFLAGS for older SH compilers. Liubov Dmitrieva (2): i686: Skip SSE4_2 version for strcmp, strncmp, strncase, strcasecmp Fix buffer overrun in strtod_l Maciej W. Rozycki (7): MIPS: Correct the handling of reserved FCSR bits Fix static-binary lazy FPU context allocation MIPS: IEEE 754-2008 NaN encoding support MIPS: bits/atomic.h: Fix comment typo manual: Fix a typo in `POSIX Threads' section nptl: tst-mutex8.c: Handle ENOTSUP PI mutex failure [BZ #16046] Static dlopen correction fallout fixes. Marc-Antoine Perennou (1): Accept make versions 4.0 and greater Marcus Shawcroft (18): [AArch64] Adding sigcontextinfo.h [AArch64] Support __mcount profiling. Handle NULL return from htab_find_slot() Avoid passing NULL to DSO_FILENAME. [AArch64] Regenerate libm-test-ulps. [AArch64] Back out sqrt() addition to libm-test-ulps. [AArch64] libm-test-ulps regenerated from scratch. [AArch64] Implement FUTEX_*_REQUEUE_PI [AArch64] Save and restore q0-q7 on entry to dynamic linker. Compile e_sqrt.c with -ffp-contract=off. [AArch64] Define ABORT_INSTRUCTION. [AArch64] Regenerate libm-test-ulps. [AArch64] Fix CFA adjustment on dynamic linker entry. [AArch64] Remove sqrt from libm-test-ulps [AArch64] Fix FP_ROUNDMODE. [AArch64] Define BE loader name. [AArch64] Fix type in abi-lp64_be-options. [AArch64] Regenerate libm-test-ulps. Marko Myllynen (1): Fix Charset comment in fi_FI, fi_FI@euro Markus Trippelsdorf (1): Update x86_64 ULps for AMD K10 Maxim Kuvyrkov (4): Improve atomic locking for ARM. Add BZ #15640 to resolved bug list in NEWS. Fix race in free() of fastbin chunk: BZ #15073 Restore accidentally deleted bug-fix entries in NEWS. Meador Inge (1): Use __glibc_block in public headers. Michael Bauer (1): Version 1.2 of gd_GB locale Michael Stahl (1): Print the reason why preloading failed in do_preload() Mike Frysinger (27): configure: add missing quotes in \$build_pt_chown test [BZ #15897] dlfcn: do not mark dlopen/dlclose as leaf functions tst-fanotify: new simple test hppa: add fanotify_mark tst-fanotify: skip when we get back EPERM tst-fanotify: fix style rename configure.in to configure.ac ia64: link.h: adjust whitespace ia64: implement sotruss support ia64: ioperm: clean up long dead code ia64: add lll_futex_timed_wait_bitset ia64: implement futex requeue pi support ignore gdb related files ia64: syscall: add some helpful documentation ia64: setjmp: use HIDDEN_JUMPTARGET ia64: setjmp/longjmp: stop saving/restoring fpsr [BZ #16379] ia64: longjmp_chk: support signal stacks [BZ #16372] tst-fanotify: check for linux/fanotify.h existence NEWS: mention 16379 as fixed tst-fanotify: switch to AC_DEFINE ia64: fix build failure after async tls updates ptrace.h: add __ prefix to ptrace_peeksiginfo_args ia64: add __ prefix to pt_all_user_regs/ia64_fpreg [BZ #762] ia64: regenerate libm-test-ulps ia64: drop large results from libm-test-ulps [BZ #16401] ia64: regen libm-test-ulps from scratch s390: implement sotruss support Olivier Langlois (1): Fix tst-long-dbl-fphex swprintf length calculation. Ondřej Bílka (66): Fix typos. Fix typos. Remove aix specific files. Fix rawmemchr regression on bulldozer. Fix typos. Fix then/than typos. Fix typo. Add unaligned strcmp. Remove DO_NOT_USE_THIS conditionals. Faster strchr implementation. Faster strrchr. BZ #431 Fix manual of strncat/wcsncat. Use p2align instead ALIGN Correctly copy resolver address. Fixes bug #13028. Fix error_tail overflow in allocation calculation. Clear initfini list after freeing. Fixes bug 15308. Format floating routines. Fix inet_network("1 bar"). Fixes bug 15277. Remove assert in malloc statistic. Fixes bug 12486. Replace alloca in __tzfile_read by malloc. Fixes bug 15670 When glob pattern contains a trailing slash match only directories. Fixes bug 10278. Document rpcgen -5. Fixes bug 15825 Acknowledge that fnmatch can fail. Fixes bug 14029. Make strptime %Z consistent between doc and code. Fixes bug 14876 Changelog for last commit. Fix gethostbyname_r example. Fixes bug 2801. Remove code from div that is by C99 obsolete. Fixes bug 15799 Use atomic operations to track memory. Fixes bug 11087 Restrict shm_open and shm_unlink to SHMDIR. Fixes bugs 14752 and 15763. Fix malloc_info statistic. Fixes bug 16112 Remove unused NONTLS_INIT_TP. Fix changelog Make getent services compliant with RFC 6335 section 5.1 Fixes bug 15374 Do not let scanf("%4p") accept "(nil)". Fixes bug 16055 Remove unused variable. Fix breaking of RPATH when \$ORIGIN contains colons. Fixes bug 10253 Revert b75891075bece24be9fd85618f18af4a2daf7f1c Consolidate valloc/pvalloc code. Use __glibc_reserved instead __unused. Fix typo in _dl_tlsdesc_resolve_hold. Remove duplicate ifunc benchtests. Add changelog. Remove duplicate ifunc tests. Also remove benchtests/bench-strsep-ifunc.c Make memset in calloc a tail call. Return fixed version of breaking of RPATH when \$ORIGIN contains colons Document shm_open. Properly handle shm_open validation. Fixes bug 16274. Refactor several debug routines. Allow strptime read outputs from strftime. Fixes bug 4772. Add bug numbers 926, 4772 and 16274 to NEWS. Replace malloc force_reg by atomic_forced_read. Simplify perturb_byte logic. Drop PER_THREAD conditionals from malloc. Expand MALLOC_COPY and MALLOC_ZERO to memcpy and memset. Add strstr with unaligned loads. Fixes bug 12100. Update documentation after dropping PER_THREAD conditional. Add missing deftp to fix commit 4d84e6addd62bdc256627af. Clarify that scanf does not use character classes. Fixes bug 12986 Add Changelog and news entry. Fix ChangeLog Reformat malloc to gnu style. Fix integer overflow in vfwprintf. Fixes bug 14286. Add 15850 to NEWS. Do not enable asynchronous cancellation in system. Fixes bug 14782. Add ChangeLog entry Patrick 'P. J.' McDermott (2): don't use Bash-specific \${parameter/pattern/string} expansion ldd: make try_trace more robust and portable Paul Eggert (5): Clarify documentation on how functions use timezone. Fixes bug 926. * manual/time.texi (TZ Variable): POSIX.1 hour can be 24. * manual/time.texi (TZ Variable): Modernize North America example Document TZ transition times >= 25:00:00. Support TZ transition times < 00:00:00. Paul Pluzhnikov (18): Adjust AT_EXECFN when using explicit loader invocation. Adjust AT_EXECFN when using explicit loader invocation. Fix failure in nptl/tst-cleanup when building with Revert "Fix failure in nptl/tst-cleanup when building with" Fix failure in tst-cleanup2 and tst-cleanupx2 with gcc-4.9 Fix missing > on email. Fix intermittent failure in tst-getpid2. Patch [1/4] async-signal safe TLS. Patch 3/4 of the effort to make TLS access async-signal-safe. Patch 2/4 of the effort to make TLS access async-signal-safe. Cleanup compile warnings. Fix incorrect power of 2 check in last commit. Fix white space as well. Merge branch 'master' of ssh://sourceware.org/git/glibc Fix ChangeLog entry. Fix a race in tst-tls7, which caused crashes on ppc32. BZ 16133 has been fixed (async signal safe TLS). Mention BZ 9721 Pavel Simerda (2): getaddrinfo: remove dead code Remove redundant GAIH_OKIFUNSPEC and GAIH_EAI. Petr Machata (1): Add AArch64 relocation definitions. Rajalakshmi Srinivasaraghavan (2): benchtests: Add strsep benchmark benchtests: Add strtok benchmark Reuben Thomas (1): Fix typo in setlocale.c. Fixes BZ #15764 Richard Henderson (5): alpha: Improve conditions under which PTR_MANGLE is defined alpha: Fix signal thunk unwind info alpha: Convert to alpha: Fix tls-macros.h alpha: Update libm-test-ulps Richard Sandiford (3): Make localedef output generation use more logical interfaces. Fix some types in localedef. Fix localedef collation handling of (bug 15948). Roland McGrath (23): Use proper #include for xdecrypt declarations. Make stub lxstat64 call xstat64, like stub lxstat calls xstat. Flesh out 4.4 bits/socket.h with SOCK_CLOEXEC, SOCK_NONBLOCK. Replace generic bits/socket.h with 4.4 file. Clean up __libc_sa_len helper. True stub __ifreq. Mild decrufting in resolv code. Don't try to use ioctl unless [FIONREAD]. Cope without sunrpc. Clean up _res declaration to use __thread unconditionally. Clean up h_errno declaration to use __thread unconditionally. Fix up ChangeLog formatting. Make armv6t2 strlen work in ARM mode too. Use sfi_* macros in armv6t2 strlen. Update to canonical freemanuals.texi file. Fix up ChangeLog formatting. Adjust generic swapon prototype to match Linux version. Add missing #include for malloc/hooks.c code. ARM: Fix memcpy computed-jump calculations for ARM_ALWAYS_BX case. ChangeLog whitespace fix. Clean up setjmp use in dl-error.c. ARM: Disable compat mcount code when unneeded. Remove excessive redundant ChangeLog header lines. Ryan S. Arnold (1): Update generic swapon definition to match prototype. Sami Kerola (1): nscd: list all tables in usage() Samuel Thibault (3): Hurd: Use __executable_start symbol instead of _start. Add fork hooks for pthread_atfork Fix build on hurd Siddhesh Poyarekar (75): Simplify strcoll implementation Fix indentation in aicache.c Initialize res_hconf in nscd Use __glibc_unlikely instead of __builtin_expect (..., 0) Mark success return value as volatile to work around rescheduling Format sincos32.c Remove redundant goto lines Consolidate sin/cos computation for large inputs Consolidate sin/cos table lookup code New test cases for sin and cos for multiple precision fallback Add benchmark inputs for sincos Consolidate common code into macros Fall back to non-cached sequence traversal and comparison on malloc fail Check for integer overflow in cache size computation in strcoll Use the mutex member of the argumen in __libc_lock_*_recursive Move ChangeLog entry Fix PI mutex check in pthread_cond_broadcast and pthread_cond_signal Fix typo in manual Add more directives to benchmark input files Fix ChangeLog formatting Consolidate multiple precision sin/cos functions Format e_exp.c Format e_pow.c Add systemtap markers to math function slow paths Don't include tls.h in test cases Fix stack overflow due to large AF_INET6 requests Consolidate conditionals in mp sin/cos functions New inputs for exp Benchmark inputs for pow Add ChangeLog entry and fix NEWS for #16078 Fix reads for sizes larger than INT_MAX in AF_INET lookup Fix ChangeLog formatting Add systemtap probe markers for sin, cos, asin and acos Fix ChangeLog formatting Rename Oriya locale to Odia (bug 15601) Fix build warning in locarchive.c Get canonical name in getaddrinfo from hosts file for AF_INET (fixes 16077) Add 16214 to NEWS Fix ChangeLog formatting Use herrnop directly [BZ #16195] Fix build warnings from systemtap probes in non-systemtap configurations benchtests: skip over blank lines in benchmark input files BZ #15941: Fix INSTALL file regeneration failure with makeinfo 5.x Fix ChangeLog formatting Remove unused variables in __stpncpy_chk Accept output arguments to benchmark functions benchtests: Append volatile keyword to type instead of prepending Use double constants instead of the struct number Consolidate definition of constant t22 benchmark inputs for exp2, log2, log and tan Minor code cleanup in s_sin.c Remove some redundant computations in s_sin.c Remove redundant arguments in reduce_and_compute Remove more redundant computations in s_sin.c Consolidate code to compute sin and cos from lookup tables benchmark inputs for asin and acos benchmark inputs for sinh and cosh benchmark inputs for asinh and acosh benchmark inputs for tanh and atanh benchmark inputs for atan Benchmark inputs for cos and sin Fix infinite loop in nscd when netgroup is empty (bz #16365) Fix return code from getent netgroup when the netgroup is not found (bz #16366) Correct inputs for sin and cos Don't use alloca in addgetnetgrentX (BZ #16453) Mention addition of multiple precision fallback libm probes in NEWS Adjust pointers to triplets in netgroup query data (BZ #16474) Avoid undefined behaviour in netgroupcache Fix invalid memory access when parsing netgroup files with blank lines (BZ #16506) Add bug entry for previous commit in NEWS Fix spaces before tabs Update contrib.texi Fix infinite loop in ftell when writing wide char data (BZ #16398) Update NEWS for #16398 Update contrib.texi Stefan Liebler (1): S/390: Increase tst-tls7 test case timeout Steve Ellcey (12): 2013-09-20 Steve Ellcey 2013-09-20 Steve Ellcey Remove trailing space. 2013-09-23 Steve Ellcey 2013-09-19 Steve Ellcey 2013-09-23 Steve Ellcey 2013-09-23 Steve Ellcey 2013-09-26 Steve Ellcey 2013-09-26 Steve Ellcey 2013-11-13 Steve Ellcey Benchmark test for sqrt function. Add ChangeLog entry for sqrt tests. Thomas Schwinge (5): math: Additional type conversion tests [BZ #15522] strtod ("nan(N)") returning a sNaN in some cases Use ELFOSABI_GNU instead of ELFOSABI_LINUX. Support ELFOSABI_GNU on all GNU systems. Hurd: Add ESUCCESS error_t value. Toke Høiland-Jørgensen (2): Add entries for U00D8 and U00F8. Update NEWS Tom Tromey (1): [AArch64] BZ #16169 Add CFI directives to clone.S Torvald Riegel (1): benchtests: Add include-sources directive. Ulrich Weigand (8): PowerPC64: Fix incorrect CFI in *context routines PowerPC64: Add __private_ss field to TCB header PowerPC64 ELFv2 ABI 1/6: Code refactoring PowerPC64 ELFv2 ABI 2/6: Remove function descriptors PowerPC64 ELFv2 ABI 3/6: PLT local entry point optimization PowerPC64 ELFv2 ABI 4/6: Stack frame layout changes PowerPC64 ELFv2 ABI 5/6: LD_AUDIT interface changes PowerPC64 ELFv2 ABI 6/6: Bump ld.so soname version number Uros Bizjak (1): Avoid "left shift count >= width of type" warnings in soft-fp code. Venkataramanan Kumar (1): [AArch64] Pointer mangling support for AArch64. Ville Skytta (1): Fix spelling in manual, as in bug 16376 Vinitha Vijayan (1): [BZ #15859] Fix memory leak in _dl_map_object_deps Wei-Lun Chao (4): New locale for nan_TW New locale for lzh_TW New locale for hak_TW New locale for cmn_TW Will Newton (33): sysdeps/arm/armv6t2/strlen.S: strlen implementation for armv6t2. ARM: Fix clone code when built for Thumb. benchtests/Makefile: Use LDLIBS instead of LDFLAGS. benchtests: Switch string benchmarks to use bench-timing.h. benchtests/Makefile: Run benchmark for memcpy. malloc: Add realloc test. malloc: Check for integer overflow in pvalloc. malloc: Check for integer overflow in valloc. malloc: Check for integer overflow in memalign. Mention closing 15855, 15856 and 15857 in NEWS. benchtests: Rename argument to TIMING_INIT macro. Add CVE-2013-4332 to NEWS. ARM: Improve armv7 memcpy performance. sysdeps/mach/hurd/i386/tls.h: Remove TLS_INIT_TP_EXPENSIVE. ports/sysdeps/arm/nptl/tls.h: Remove TLS_INIT_TP_EXPENSIVE. malloc: Add posix_memalign test. malloc/tst-valloc.c: Improve test coverage and use test-skeleton.c. malloc: Add pvalloc test. ARM: Add pointer encryption support. malloc: Add memalign test. malloc/tst-posix_memalign.c: Tidy up code. malloc/tst-pvalloc.c: Tidy up code. malloc/tst-valloc.c: Tidy up code. ARM: Allow building __longjmp as Thumb. ARM: Allow building __sigsetjmp as Thumb. malloc/hooks.c: Correct check for overflow in memalign_check. malloc: Fix for infinite loop in memalign/posix_memalign. manual/memory.texi: Remove register keyword from examples. aarch64: Enable ifunc support. manual/memory.texi: Bring aligned allocation docs up to date. manual/memory.texi: Document aligned_alloc. ARM: Don't apply pointer encryption to the frame pointer ARM: Fix clone build for ARMv4 Yogesh Chaudhari (1): Update gethostbyname2_r documentation. Fixes bug #156. Yuri Chornoivan (1): Fix typos. Yuriy Kaminskiy (1): Fix a thinko/typo in i686's memmove (aka __memmove_ia32). cjl (6): Add FSF statement to ayc_PE locale. Add FSF statement to ayc_PE locale. Add FSF statement to ayc_PE locale. Add country_car field to LC_ADDRESS Add country_car field to LC_ADDRESS Add country_car field to LC_ADDRESS -----------------------------------------------------------------------```