about summary refs log tree commit diff
path: root/NEWS
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright notices with scripts/update-copyrightsAllan McRae2014-01-011-1/+1
|
* NEWS: mention 16379 as fixedMike Frysinger2013-12-311-1/+1
| | | | | Reported-by: Joseph S. Myers <joseph@codesourcery.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* ia64: longjmp_chk: support signal stacks [BZ #16372]Mike Frysinger2013-12-301-1/+1
| | | | | | | | The sp check has to be moved up to the start of the func since it now makes a system call and that'll clobber a lot of registers. URL: https://sourceware.org/bugzilla/show_bug.cgi?id=16372 Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Fix spelling in manual, as in bug 16376Ville Skytta2013-12-301-1/+1
|
* Add Solvenian translations for glibc messages.Carlos O'Donell2013-12-271-0/+3
|
* Fix typo in csloww()Allan McRae2013-12-271-1/+1
| | | | | An incorrect variable name was used during the refactoring done in commit 4aafb73c.
* Restore accidentally deleted bug-fix entries in NEWS.Maxim Kuvyrkov2013-12-241-1/+2
| | | | * NEWS: Restore accidentally deleted bug-fix entries.
* Fix race in free() of fastbin chunk: BZ #15073Maxim Kuvyrkov2013-12-241-11/+11
| | | | | | | | | | | | Perform sanity check only if we have_lock. Due to lockless nature of fastbins we need to be careful derefencing pointers to fastbin entries (chunksize(old) in this case) in multithreaded environments. The fix is to add have_lock to the if-condition checks. The rest of the patch only makes code more readable. * malloc/malloc.c (_int_free): Perform sanity check only if we have_lock.
* Add Changelog and news entry.Ondřej Bílka2013-12-231-13/+13
|
* Fix ldbl-128 lgammal for small negative arguments (bug 16337).Joseph Myers2013-12-221-1/+1
| | | | | | | | | | | | | | | | | | | | | This patch fixes bug 16337, ldbl-128 lgammal spurious overflows for small negative arguments (the arguments in question are already in the testsuite). The implementation uses the reflection formula to compute lgamma of negative x from lgamma of -x, effectively resulting in a calculation -log(x^2) + log(-x); cancellation isn't problematic in this case (bugs for problematic cancellation in lgamma are 2542, 2543, 2558), but the x^2 calculation can underflow (in which case there is spurious logic to return an overflowing value - lgamma can only ever correctly overflow for large positive arguments, though tgamma can overflow for small arguments of either sign as well as large positive arguments). The fix is simply to calculate the result directly with logl when the argument is a small enough negative number. Tested mips64. * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgammal_r): Calculate results for small negative arguments directly rather than using reflection formula with special underflow handling.
* Fix x86 / x86_64 expl / expl10l wild results in directed rounding modes (bug ↵Joseph Myers2013-12-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 16356). This patch fixes bug 16356, bad results from x86 / x86_64 expl / exp10l in directed rounding modes, the most serious of the bugs shown up by my patch expanding libm test coverage. When I fixed bug 16293, I thought it was only necessary to set round-to-nearest when using frndint in expm1 functions, because in other cases the cancellation error from having the resulting fractional part close to 1 or -1 would not be significant. However, in expl and exp10l, the way the final fractional part gets computed (something more complicated than a simple subtraction, because more precision is needed than you'd get that way) can result in a value outside the range [-1, 1] when the argument to frndint was very close to an integer and was rounded the "wrong" way because of the rounding mode - and the f2xm1 instruction has undefined results if its argument is outside [-1, 1], so resulting in the large errors seen. So this patch removes the USE_AS_EXPM1L conditionals on the round-to-nearest settings, so all of expl, expm1l and exp10l now get round-to-nearest used for frndint (meaning the final fractional part can at most be slightly above 0.5 in magnitude). Associated tests of exp and exp10 are added and testing of exp10 in directed rounding modes enabled. Tested x86_64 and x86 and ulps updated accordingly. * sysdeps/i386/fpu/e_expl.S (IEEE754_EXPL): Also set round-to-nearest for [!USE_AS_EXPM1L]. * sysdeps/x86_64/fpu/e_expl.S (IEEE754_EXPL): Likewise. * math/auto-libm-test-in: Do not expect cosh tests to fail. Add more tests of exp and exp10. Expect some exp10 tests to miss exceptions or fail in directed rounding modes. * math/auto-libm-test-out: Regenerated. * math/libm-test.inc (exp10_tonearest_test_data): New array. (exp10_test_tonearest): New function. (exp10_towardzero_test_data): New array. (exp10_test_towardzero): New function. (exp10_downward_test_data): New array. (exp10_test_downward): New function. (exp10_upward_test_data): New array. (exp10_test_upward): New function. (main): Call the new functions. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
* Fix x86/x86_64 expm1 inaccuracy near 0 in directed rounding modes (bug 16293).Joseph Myers2013-12-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug 16293 is inaccuracy of x86/x86_64 versions of expm1, near 0 in directed rounding modes, that arises from frndint rounding the exponent to 1 or -1 instead of 0, resulting in large cancellation error. This inaccuracy in turn affects other functions such as sinh that use expm1. This patch fixes the problem by setting round-to-nearest mode temporarily around the affected calls to frndint. I don't think this is needed for other uses of frndint, such as in exp itself, as only for expm1 is the cancellation error significant. Tested x86_64 and x86 and ulps updated accordingly. * sysdeps/i386/fpu/e_expl.S (IEEE754_EXPL) [USE_AS_EXPM1L]: Set round-to-nearest mode when using frndint. * sysdeps/i386/fpu/s_expm1.S (__expm1): Likewise. * sysdeps/i386/fpu/s_expm1f.S (__expm1f): Likewise. * sysdeps/x86_64/fpu/e_expl.S (IEEE754_EXPL) [USE_AS_EXPM1L]: Likewise. * math/auto-libm-test-in: Add more tests of expm1. Do not expect sinh test to fail. * math/auto-libm-test-out: Regenerated. * math/libm-test.inc (TEST_COND_x86_64): Remove macro. (TEST_COND_x86): Likewise. (expm1_tonearest_test_data): New array. (expm1_test_tonearest): New function. (expm1_towardzero_test_data): New array. (expm1_test_towardzero): New function. (expm1_downward_test_data): New array. (expm1_test_downward): New function. (expm1_upward_test_data): New array. (expm1_test_upward): New function. (main): Run the new test functions. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
* Add _DEFAULT_SOURCE feature test macro.Joseph Myers2013-12-191-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a feature test macro _DEFAULT_SOURCE to enable the default set of header declarations. The intention is: if _DEFAULT_SOURCE is not used there is no change to the set of __USE_* macros glibc defines; if it's used on its own, and without compiler options such as -std=c99 that define __STRICT_ANSI__, again, there is no change; if it's used together with the macros it approximately (i.e., apart from __USE_POSIX_IMPLICITLY) implies (-D_BSD_SOURCE -D_SVID_SOURCE -D_POSIX_C_SOURCE=200809L), again, there is no change. Otherwise, it causes the relevant features to be enabled, even if __STRICT_ANSI__, or another feature test macro, would cause them to be disabled. This macro deliberately bundles the POSIX.1-2008 (non-X/Open) functionality with the BSD/SVID/"misc" functionality, rather than defining a macro that gives just the latter, as many of the header cleanups resulting from removing _BSD_SOURCE and _SVID_SOURCE support are only possible when BSD/SVID/"misc" is always bundled with POSIX.1-2008. Tested x86_64. * include/features.h: Update comment documenting feature test macros. Mention _DEFAULT_SOURCE in comment. [_GNU_SOURCE] (_DEFAULT_SOURCE): Undefine and redefine. [_DEFAULT_SOURCE]: Undefine and redefine _DEFAULT_SOURCE, _BSD_SOURCE and _SVID_SOURCE. [!__STRICT_ANSI__ && !_ISOC99_SOURCE && !_POSIX_SOURCE && !_POSIX_C_SOURCE && !_XOPEN_SOURCE && !_BSD_SOURCE && !_SVID_SOURCE]: Likewise. [_DEFAULT_SOURCE && !_POSIX_SOURCE && !_POSIX_C_SOURCE] (__USE_POSIX_IMPLICITLY): Define. [_DEFAULT_SOURCE && !_POSIX_SOURCE && !_POSIX_C_SOURCE] (_POSIX_SOURCE): Undefine and redefine. [_DEFAULT_SOURCE && !_POSIX_SOURCE && !_POSIX_C_SOURCE] (_POSIX_C_SOURCE): Likewise. * manual/creature.texi (_DEFAULT_SOURCE): Document. (Feature Test Macros): Update documentation of default features.
* Updated NEWS to mention resolution of bug 15846.Brooks Moses2013-12-181-7/+7
|
* [AArch64] Save and restore q0-q7 on entry to dynamic linker.Marcus Shawcroft2013-12-181-11/+11
| | | | | [BZ #15128] Ensure all argument passing registers are saved and restored on entry to dynamic linker.
* Fix ldbl-128 logl for subnormals (bug 16338).Joseph Myers2013-12-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | This patch fixes bug 16338, ldbl-128 logl not handling subnormals (with consequent inaccuracy for lgammal as well). The fix is simply to use __frexpl when determining the exponent, as done already in log2l and log10l. Given the lack of testing of small arguments to any of the log* functions, appropriate tests are added for all of them. Tested x86_64 and x86 and ulps updated accordingly, and spot tests also run for mips64 to confirm the ldbl-128 fix. Note that while this fixes lgammal inaccuracy for small positive arguments, I suspect that there will still be problems with spurious underflows in that case. * sysdeps/ieee754/ldbl-128/e_logl.c (__ieee754_logl): Use __frexpl to determine exponent and adjust argument to have exponent of -1. * math/auto-libm-test-in: Add more tests of log, log10, log1p and log2. * math/auto-libm-test-out: Regenerated. * sysdeps/x86_64/fpu/libm-test-ulps: Update.
* Support TZ transition times < 00:00:00.Paul Eggert2013-12-171-0/+4
| | | | | | | | | | This is needed for version-3 tz-format files; it supports time stamps past 2037 for America/Godthab (the only entry in the tz database for which this change is relevant). * manual/time.texi (TZ Variable): Document transition times from -167:59:59 through -00:00:01. * time/tzset.c (tz_rule): Time of day is now signed. (__tzset_parse_tz): Parse negative time of day.
* Remove libbsd-compat dummy library.Joseph Myers2013-12-171-1/+2
|
* Remove __FAVOR_BSD.Joseph Myers2013-12-171-0/+3
|
* Fix dbl-64 hypot spurious underflows (bug 16314).Joseph Myers2013-12-171-1/+1
|
* Fix hypot handling of subnormals (bug 16316, bug 16330).Joseph Myers2013-12-171-1/+1
|
* Add missing bug number to NEWS.Joseph Myers2013-12-161-11/+12
|
* Add strstr with unaligned loads. Fixes bug 12100.Ondřej Bílka2013-12-141-12/+12
| | | | | | | | | | A sse42 version of strstr used pcmpistr instruction which is quite ineffective. A faster way is look for pairs of characters which is uses sse2, is faster than pcmpistr and for real strings a pairs we look for are relatively rare. For linear time complexity we use buy or rent technique which switches to two-way algorithm when superlinear behaviour is detected.
* PowerPC: Update NEWS with ppc64 STT_GNU_IFUNC supportAdhemerval Zanella2013-12-131-1/+1
|
* Update NEWSToke Høiland-Jørgensen2013-12-121-9/+9
|
* Fix CFI annotations in pthread_cond_timedwait for i486+Andreas Schwab2013-12-091-7/+7
|
* Fix BZ #15089: malloc_trim always trim for large padding.Fernando J. V. da Silva2013-12-061-10/+10
|
* PowerPC: Update NEWS with ppc32/power4+ STT_GNU_IFUNC supportAdhemerval Zanella2013-12-061-0/+2
|
* Fix tgamma errno setting on underflow (bug 6810).Joseph Myers2013-12-051-13/+13
|
* BZ #15941: Fix INSTALL file regeneration failure with makeinfo 5.xSiddhesh Poyarekar2013-12-051-5/+5
| | | | | I have skipped regenerating the INSTALL file because we want to continue using the 4.x generator for now.
* Add bug numbers 926, 4772 and 16274 to NEWS.Ondřej Bílka2013-12-041-13/+13
|
* Add missing bug numbers (12486, 15915, 16038) to NEWS.Joseph Myers2013-12-041-11/+12
|
* Fix Bessel function error handling (bug 6807, bug 15901).Joseph Myers2013-12-041-12/+12
|
* Fix exp missing underflows (bug 15268, bug 15425).Joseph Myers2013-12-031-10/+10
|
* Fix exp2 errno setting on underflow (bug 16283).Joseph Myers2013-12-031-1/+1
|
* Fix erfc errno setting on underflow (bug 6786).Joseph Myers2013-12-031-12/+12
|
* Add bug number to ChangeLog and NEWSAurelien Jarno2013-12-031-1/+1
|
* [BZ #16195] Fix build warnings from systemtap probes in non-systemtap ↵Siddhesh Poyarekar2013-12-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | configurations Joseph pointed out in the bug report (and in an earlier thread) that systemtap probes cause build time warnings like the following: ../sysdeps/ieee754/dbl-64/e_atan2.c:602:4: warning: the address of 'p' will always evaluate as 'true' [-Waddress] due to the fact that we're now passing non-weak variables to LIBC_PROBE in the libm probes. This happens only on configurations that do not enable systemtap. The macro definition of LIBC_PROBE in this case only acts as a sanity checker to ensure that the number parameters passed to LIBC_PROBE is equal to the argument count parameter passed before it. This can be done in a much simpler manner by just adding a macro definition for each number of arguments. I am assuming here that we don't really want to bother with supporting LIBC_PROBE with an indeterminate number of arguments and if there is a need for a probe to have more data than what is currently supported (4 arguments), one could simply add an additional macro here.
* Fix exp10 errno setting on underflow (bug 6787).Joseph Myers2013-11-291-11/+12
|
* Fix x86 sqrt rounding (bug 14032).Joseph Myers2013-11-291-10/+10
|
* Add 16214 to NEWSSiddhesh Poyarekar2013-11-291-1/+1
|
* Remove unused ldbl-96 functions (bug 15004).Joseph Myers2013-11-281-9/+9
|
* Fix dbl-64 e_sqrt.c for non-default rounding modes (bug 16271).Joseph Myers2013-11-281-1/+1
|
* Get canonical name in getaddrinfo from hosts file for AF_INET (fixes 16077)Siddhesh Poyarekar2013-11-281-2/+2
| | | | | | | | AF_INET lookup in hosts file uses _nss_files_gethostbyname2_r, which is not capable of returning a canonical name if it has found one. This change adds _nss_files_gethostbyname3_r, which wraps around _nss_files_gethostbyname2_r and then returns result.h_name as the canonical name.
* NEWS: Only public headers have __unused/__block changed.Carlos O'Donell2013-11-261-3/+3
|
* NEWS: Mention __unused and __block removal.Carlos O'Donell2013-11-261-0/+5
|
* Fix bug ordering in NEWS.Joseph Myers2013-11-251-1/+1
|
* Add bug 11214 to NEWS.Joseph Myers2013-11-251-11/+11
|
* Fix typo in sys/ptrace.h.Carlos O'Donell2013-11-251-1/+1
| | | | | | | The event code is PTRACE_EVENT_SECCOMP, not PTRAVE_EVENT_SECCOMP. This patch fixes the V->C typo. There are no ABI issues since the number remains the same for the code. Code using the old wrong name will need to be updated.
* Use __glibc_block in public headers.Meador Inge2013-11-211-11/+11
| | | | | | | | | | | | As detailed in PR11157, the use of '__block' is known to interfere with keywords in some environments, such as the Clang -fblocks extension. Recently a similar issue was raised concerning the use of '__unused' and a '__glibc' prefix was proposed to create a glibc implementation namespace for these sorts of issues [1]. This patches takes that approach. [1] https://sourceware.org/ml/libc-alpha/2012-02/msg00047.html [2] http://lists.debian.org/debian-glibc/2013/11/msg00020.html