summaryrefslogtreecommitdiff
path: root/NEWS
AgeCommit message (Collapse)AuthorFilesLines
2013-12-24Restore accidentally deleted bug-fix entries in NEWS.Maxim Kuvyrkov1-1/+2
* NEWS: Restore accidentally deleted bug-fix entries.
2013-12-24Fix race in free() of fastbin chunk: BZ #15073Maxim Kuvyrkov1-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.
2013-12-23Add Changelog and news entry.Ondřej Bílka1-13/+13
2013-12-22Fix ldbl-128 lgammal for small negative arguments (bug 16337).Joseph Myers1-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.
2013-12-21Fix x86 / x86_64 expl / expl10l wild results in directed rounding modes (bug ↵Joseph Myers1-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.
2013-12-19Fix x86/x86_64 expm1 inaccuracy near 0 in directed rounding modes (bug 16293).Joseph Myers1-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.
2013-12-19Add _DEFAULT_SOURCE feature test macro.Joseph Myers1-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.
2013-12-18Updated NEWS to mention resolution of bug 15846.Brooks Moses1-7/+7
2013-12-18[AArch64] Save and restore q0-q7 on entry to dynamic linker.Marcus Shawcroft1-11/+11
[BZ #15128] Ensure all argument passing registers are saved and restored on entry to dynamic linker.
2013-12-18Fix ldbl-128 logl for subnormals (bug 16338).Joseph Myers1-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.
2013-12-17Support TZ transition times < 00:00:00.Paul Eggert1-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.
2013-12-17Remove libbsd-compat dummy library.Joseph Myers1-1/+2
2013-12-17Remove __FAVOR_BSD.Joseph Myers1-0/+3
2013-12-17Fix dbl-64 hypot spurious underflows (bug 16314).Joseph Myers1-1/+1
2013-12-17Fix hypot handling of subnormals (bug 16316, bug 16330).Joseph Myers1-1/+1
2013-12-16Add missing bug number to NEWS.Joseph Myers1-11/+12
2013-12-14Add strstr with unaligned loads. Fixes bug 12100.Ondřej Bílka1-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.
2013-12-13PowerPC: Update NEWS with ppc64 STT_GNU_IFUNC supportAdhemerval Zanella1-1/+1
2013-12-12Update NEWSToke Høiland-Jørgensen1-9/+9
2013-12-09Fix CFI annotations in pthread_cond_timedwait for i486+Andreas Schwab1-7/+7
2013-12-06Fix BZ #15089: malloc_trim always trim for large padding.Fernando J. V. da Silva1-10/+10
2013-12-06PowerPC: Update NEWS with ppc32/power4+ STT_GNU_IFUNC supportAdhemerval Zanella1-0/+2
2013-12-05Fix tgamma errno setting on underflow (bug 6810).Joseph Myers1-13/+13
2013-12-05BZ #15941: Fix INSTALL file regeneration failure with makeinfo 5.xSiddhesh Poyarekar1-5/+5
I have skipped regenerating the INSTALL file because we want to continue using the 4.x generator for now.
2013-12-04Add bug numbers 926, 4772 and 16274 to NEWS.Ondřej Bílka1-13/+13
2013-12-04Add missing bug numbers (12486, 15915, 16038) to NEWS.Joseph Myers1-11/+12
2013-12-04Fix Bessel function error handling (bug 6807, bug 15901).Joseph Myers1-12/+12
2013-12-03Fix exp missing underflows (bug 15268, bug 15425).Joseph Myers1-10/+10
2013-12-03Fix exp2 errno setting on underflow (bug 16283).Joseph Myers1-1/+1
2013-12-03Fix erfc errno setting on underflow (bug 6786).Joseph Myers1-12/+12
2013-12-03Add bug number to ChangeLog and NEWSAurelien Jarno1-1/+1
2013-12-03[BZ #16195] Fix build warnings from systemtap probes in non-systemtap ↵Siddhesh Poyarekar1-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.
2013-11-29Fix exp10 errno setting on underflow (bug 6787).Joseph Myers1-11/+12
2013-11-29Fix x86 sqrt rounding (bug 14032).Joseph Myers1-10/+10
2013-11-29Add 16214 to NEWSSiddhesh Poyarekar1-1/+1
2013-11-28Remove unused ldbl-96 functions (bug 15004).Joseph Myers1-9/+9
2013-11-28Fix dbl-64 e_sqrt.c for non-default rounding modes (bug 16271).Joseph Myers1-1/+1
2013-11-28Get canonical name in getaddrinfo from hosts file for AF_INET (fixes 16077)Siddhesh Poyarekar1-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.
2013-11-26NEWS: Only public headers have __unused/__block changed.Carlos O'Donell1-3/+3
2013-11-26NEWS: Mention __unused and __block removal.Carlos O'Donell1-0/+5
2013-11-25Fix bug ordering in NEWS.Joseph Myers1-1/+1
2013-11-25Add bug 11214 to NEWS.Joseph Myers1-11/+11
2013-11-25Fix typo in sys/ptrace.h.Carlos O'Donell1-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.
2013-11-21Use __glibc_block in public headers.Meador Inge1-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
2013-11-20Rename Oriya locale to Odia (bug 15601)Siddhesh Poyarekar1-8/+8
The state of Orissa was officially renamed the state to Odisha and the language from Oriya to Odia in 2010. References: http://zeenews.india.com/election09/story.aspx?aid=739995 http://orissamatters.com/2011/11/07/orissa-became-odisha/ http://www.ndtv.com/article/india/parliament-passes-bill-to-change-orissa-s-name-93888 http://orissa.gov.in/e-magazine/Orissareview/2011/Nov/engpdf/9-17.pdf
2013-11-19Make powerpc-nofpu floating-point state thread-local (bug 15483).Joseph Myers1-8/+9
2013-11-18[BZ #16144] Duplicated abday value for tk_TM.Chris Leonard1-1/+1
2013-11-18Fix breaking of RPATH when $ORIGIN contains colons. Fixes bug 10253Ondřej Bílka1-10/+10
We first expanded origin and then split string by colons. This misbehaves when $ORIGIN contain colon so we first split string, then expand $ORIGIN.
2013-11-18Do not let scanf("%4p") accept "(nil)". Fixes bug 16055Ondřej Bílka1-2/+2
2013-11-17Correct wae_CH to UTF-8 encoding.Chris Leonard1-1/+1