aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-08-11Add more tests of various libm functions.Joseph Myers5-48/+1722
This patch adds more tests of various libm functions found through random test generation to give increased ulps on 32-bit x86. Tested for x86_64 and x86. * math/auto-libm-test-in: Add more tests of acosh, asin, asinh, atanh, cabs, carg, cbrt, cosh, csqrt, erf, erfc, exp, exp10, expm1, hypot, log, log10, log1p, log2, pow, sinh, tan and tgamma. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2015-08-10Fix ldbl-128ibm tanhl inaccuracy (bug 18790).Joseph Myers6-7/+952
ldbl-128ibm tanhl uses a too-small threshold to decide when to return +/-1, resulting in large errors. This patch changes it to a more appropriate threshold (the requirement is for 2*exp(-2|x|) to be small in terms of ulps of 1). Tested for x86_64, x86 and powerpc. [BZ #18790] * sysdeps/ieee754/ldbl-128ibm/s_tanhl.c (__tanhl): Increase threshold for returning +/- 1. * math/auto-libm-test-in: Add more tests of tanh. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update.
2015-08-10Readd O_LARGEFILE flag for openat64 (bug 18781)Andreas Schwab4-2/+33
2015-08-10Fix ldbl-128ibm sinhl inaccuracy near 0 (bug 18789).Joseph Myers6-2/+785
ldbl-128ibm sinhl uses a too-big threshold to decide when to return the argument, resulting in large errors. This patch fixes it to use a more appropriate threshold. Tested for x86_64, x86 and powerpc. [BZ #18789] * sysdeps/ieee754/ldbl-128ibm/e_sinhl.c (__ieee754_sinhl): Use smaller threshold for returning the argument. * math/auto-libm-test-in: Add more tests of sinh. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update.
2015-08-09Add a missing break in tst-auditmod3b.cH.J. Lu3-1/+9
[BZ #18674] * sysdeps/i386/tst-auditmod3b.c (la_objsearch): Add a missing break.
2015-08-09Resort bug numbers in NEWS into ascending order.Joseph Myers1-1/+1
2015-08-09Remove unused variables from timezone/MakefileAndreas Schwab2-9/+5
2015-08-09gawk: fix gensub usageMike Frysinger3-2/+7
The third arg can either be a string with "g" or "G", or it is a number. The empty string elicits a warning with newer versions like so: gawk: scripts/sysd-rules.awk:56: warning: gensub: third argument `' treated as 1
2015-08-09fix non-portable `echo -n` usageMike Frysinger5-13/+20
These scripts use #!/bin/sh explicitly, so make sure they avoid echo -n as different shells treat it differently. Use the portable printf func instead.
2015-08-08hppa: put custom madvise defines behind __USE_MISCMike Frysinger2-8/+16
No other arch exports these defines, and having them in the default namespace causes conformance header tests to fail. Put them behind the __USE_MISC define as that is what other arches seem to use.
2015-08-08hppa: Fix miscompilation of sched_setaffinity() [BZ #18480]John David Anglin4-23/+56
The attached change fixes the miscompilation of sched_setaffinity() on hppa. This is an old problem that was fixed on other architectures using a similar approach to the attached change. See: https://sourceware.org/ml/libc-hacker/2004-04/msg00016.html Build tested on trunk. Patch has been applied to debian glibc for some time.
2015-08-08In preparation for fixing BZ#16734, fix failure in misc/tst-error1-memPaul Pluzhnikov2-0/+8
when _G_HAVE_MMAP is turned off.
2015-08-08Fix trailing space.Paul Pluzhnikov1-1/+1
2015-08-08Fix BZ #17905Paul Pluzhnikov6-18/+74
2015-08-08hppa: Fix reload error with atomic code [BZ #18787]John David Anglin3-19/+27
As noted in the bug, the asm operands need to be copied to register variables to avoid operand reloads in the principal asm of the macro. See the arm implementation for reference. Otherwise we get: ../sysdeps/unix/sysv/linux/hppa/bits/atomic.h:68:6: error: can't find a register in class 'R1_REGS' while reloading 'asm' Build tested on trunk with gcc-4.8. Similar patch has been tested with 2.19 on Debian hppa-unknown-linux-gnu.
2015-08-07microblaze: include unix/sysdep.hMike Frysinger2-1/+12
The semi-recent SYSCALL_CANCEL inclusion broke microblaze due to the sysdep.h header not including the unix/sysdep.h header. Include it here like all other ports.
2015-08-07Fix tan missing underflows (bug 16517).Joseph Myers9-5/+393
Similar to various other bugs in this area, some tan implementations do not raise the underflow exception for subnormal arguments, when the result is tiny and inexact. This patch forces the exception in a similar way to previous fixes. Tested for x86_64, x86, mips64 and powerpc. [BZ #16517] * sysdeps/ieee754/dbl-64/s_tan.c: Include <float.h>. (tan): Force underflow exception for arguments with small absolute value. * sysdeps/ieee754/flt-32/k_tanf.c: Include <float.h>. (__kernel_tanf): Force underflow exception for arguments with small absolute value. * sysdeps/ieee754/ldbl-128/k_tanl.c: Include <float.h>. (__kernel_tanl): Force underflow exception for arguments with small absolute value. * sysdeps/ieee754/ldbl-128ibm/k_tanl.c: Include <float.h>. (__kernel_tanl): Force underflow exception for arguments with small absolute value. * sysdeps/ieee754/ldbl-96/k_tanl.c: Include <float.h>. (__kernel_tanl): Force underflow exception for arguments with small absolute value. * math/auto-libm-test-in: Add more tests of tan. * math/auto-libm-test-out: Regenerated.
2015-08-07locales/ce_RU: sync with other *_RU localesArslanbek Astemirov3-7/+12
[BZ #18618] * locales/ce_RU (LC_IDENTIFICATION): Fix language. (LC_TIME): Set first_weekday and first_workday. (LC_NUMERIC): Copy ru_RU.
2015-08-07Fix sysdeps/i386/fpu/s_scalbn.S buildSamuel Thibault2-0/+8
* math/Versions (libc: GLIBC_2_22): New (empty) version set.
2015-08-07hppa: _dl_symbol_address: add missing hidden defMike Frysinger2-0/+5
Commit 2a6ad8142d14c998e6c5eb51418aac1f598b621e updated the headers and the common dl-symaddr.c, but missed that hppa has its own dedicated source file for this func. Update that too to fix build errors due to missing exports of the symbol.
2015-08-07Fix gcrt0.o compilationSamuel Thibault2-2/+25
When static-start-installed-name is different from start-installed-name, we must not use the shared objects. * csu/Makefile (extra-objs): Add gmon-start.o when building shared library and $(static-start-installed-name) is different from $(start-installed-name). $(objpfx)g$(static-start-installed-name): When building shared library and $(static-start-installed-name) is different from $(static-start-installed-name), revert to non-shared rule, i.e. using $(objpfx)% and gmon-start.o.
2015-08-06Fix sinh missing underflows (bug 16519).Joseph Myers10-8/+392
Similar to various other bugs in this area, some sinh implementations do not raise the underflow exception for subnormal arguments, when the result is tiny and inexact. This patch forces the exception in a similar way to previous fixes. Tested for x86_64, x86, mips64 and powerpc. [BZ #16519] * sysdeps/ieee754/dbl-64/e_sinh.c: Include <float.h>. (__ieee754_sinh): Force underflow exception for arguments with small absolute value. * sysdeps/ieee754/flt-32/e_sinhf.c: Include <float.h>. (__ieee754_sinhf): Force underflow exception for arguments with small absolute value. * sysdeps/ieee754/ldbl-128/e_sinhl.c: Include <float.h>. (__ieee754_sinhl): Force underflow exception for arguments with small absolute value. * sysdeps/ieee754/ldbl-128ibm/e_sinhl.c: Include <float.h>. (__ieee754_sinhl): Force underflow exception for arguments with small absolute value. * sysdeps/ieee754/ldbl-96/e_sinhl.c: Include <float.h>. (__ieee754_sinhl): Force underflow exception for arguments with small absolute value. * math/auto-libm-test-in: Add more tests of sinh. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update.
2015-08-06Add #include <unistd.h> to libio/oldfileops.c for write.Paul Pluzhnikov2-0/+5
2015-08-06fix missing ctype.h includeMike Frysinger2-0/+5
This file uses isspace but doesn't include ctype.h leading to: isomac.c: In function 'get_null_defines': isomac.c:305:30: warning: implicit declaration of function 'isspace' [-Wimplicit-function-declaration] for (end = start + 1; !isspace (*end) && *end != '\0'; ++end)
2015-08-06Modify several tests to use test-skeleton.cArjun Shankar19-36/+165
These tests were skipped by the use-test-skeleton conversion done in commit 29955b5d because they did not have an `int main (void)' declaration. Instead their `main' functions were declared with arguments (i.e. argc, argv) even though they didn't use them. Remove these arguments and include the test skeleton in these tests.
2015-08-05Correct comments about the history of <regexp.h>Zack Weinberg3-5/+10
In the "Kill regexp.h" thread, Joseph dug up more accurate information about exactly which editions of the Single Unix Standard included and deprecated this header.
2015-08-05Properly terminate FDE in makecontext for m68k (bug 18635)Andreas Schwab2-1/+10
2015-08-05Align stack to 16 bytes when calling __errno_locationH.J. Lu5-1/+27
We should align stack to 16 bytes when calling __errno_location. [BZ #18661] * sysdeps/x86_64/fpu/s_cosf.S (__cosf): Align stack to 16 bytes when calling __errno_location. * sysdeps/x86_64/fpu/s_sincosf.S (__sincosf): Likewise. * sysdeps/x86_64/fpu/s_sinf.S (__sinf): Likewise.
2015-08-05Align stack to 16 bytes when calling __gettimeofdayH.J. Lu2-4/+12
Subtract stack by 24 bytes instead of 16 bytes so that stack is aligned to 16 bytes when calling __gettimeofday. [BZ #18661] * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S (__lll_timedwait_tid): Align stack to 16 bytes when calling __gettimeofday.
2015-08-05Align stack to 16 bytes when calling __setcontextH.J. Lu2-2/+9
Don't use pop to restore %rdi so that stack is aligned to 16 bytes when calling __setcontext. [BZ #18661] * sysdeps/unix/sysv/linux/x86_64/__start_context.S (__start_context): Don't use pop to restore %rdi so that stack is aligned to 16 bytes when calling __setcontext.
2015-08-05Compile {memcpy,strcmp}-sse2-unaligned.S only for libcH.J. Lu3-0/+14
{memcpy,strcmp}-sse2-unaligned.S aren't needed in ld.so. * sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S: Compile only for libc. * sysdeps/x86_64/multiarch/strcmp-sse2-unaligned.S: Likewise.
2015-08-05Improve performance of mempcpy by inlining and using memcpy. EnableWilco Dijkstra3-0/+28
this for all targets except sparc which has an optimized mempcpy implementation.
2015-08-05Improve memccpy performance by using memchr/memcpy/mempcpy rather thanWilco Dijkstra2-7/+9
a byte loop. Overall performance on bench-memccpy is > 2x faster when using the C implementation of memchr and an optimized memcpy.
2015-08-05This patch improves strncpy performance by using strnlen/memcpy rather than ↵Wilco Dijkstra2-54/+10
a byte loop. Performance on bench-strncpy is 1.9-2.1x faster on average. I tried several variations, and using a tailcall and calling memset conditionally gave the best overall results.
2015-08-05Improve feenableexcept performance - avoid an unnecessary FPCR read in caseWilco Dijkstra2-9/+12
the FPCR does not change. Also improve the logic of the return value.
2015-08-05Improve fesetenv performance by avoiding unnecessary FPSR/FPCR reads/writes.Wilco Dijkstra2-17/+28
It uses the same logic as the ARM version. The common case removes 1 FPSR and 1 FPCR read. For FE_DFL_ENV and FE_NOMASK_ENV a FPCR read is avoided in case the FPCR does not change.
2015-08-05Also check dead->data[category] != NULLH.J. Lu2-1/+6
_nl_load_locale_from_archive (int category, const char **namep) has for (cnt = 0; cnt < __LC_LAST; ++cnt) if (cnt != LC_ALL) { lia->data[cnt] = _nl_intern_locale_data (cnt, results[cnt].addr, results[cnt].len); if (__glibc_likely (lia->data[cnt] != NULL)) { ... } } lia->data[cnt] can be NULL, which happens to en_US.UTF-8 with LC_COLLATE. But this won't happen if glibc is configured with --enable-hardcoded-path-in-tests. We should also check dead->data[category] != NULL. * locale/loadarchive.c (_nl_archive_subfreeres): Also check dead->data[category] != NULL.
2015-08-05Fix powf (close to -1, large) (bug 18647).Joseph Myers5-2/+5661
The flt-32 implementation of powf wrongly uses x-1 instead of |x|-1 when computing log (x) for the case where |x| is close to 1 and y is large. This patch fixes the logic accordingly. Relevant tests existed for x close to 1, and corresponding tests are added for x close to -1, as well as for some new variant cases. Tested for x86_64 and x86. [BZ #18647] * sysdeps/ieee754/flt-32/e_powf.c (__ieee754_powf): For large y and |x| close to 1, use absolute value of x when computing log. * math/auto-libm-test-in: Add more tests of pow. * math/auto-libm-test-out: Regenerated.
2015-08-05arm: Assembly implementation cleanupAdhemerval Zanella4-136/+24
This patch removes arm assembly implementation of mmap and mmap64. The new implementation used is the wordsize-32 generic linux one. Tested on armhf.
2015-08-05localedata: remove timezone information [BZ #18525]Marko Myllynen8-36/+11
as discussed in the thread starting at https://sourceware.org/ml/libc-alpha/2015-06/msg00098.html it looks like the best options is to remove locale timezone information from locales which currently provide it (in incomplete or incorrect fashion) rather than to start duplicating tzdata info in glibc.
2015-08-05Updated __nonnull annotations for wcscat, wcsncat, wcscmp and wcsncmp [BZ ↵Daniel Marjamäki3-4/+18
#18265] This patch adds __nonnull annotations for wcscat, wcsncat, wcscmp and wcsncmp. These added annotations match the annoations for strcat, strncat, strcmp, strncmp in glibc.
2015-08-05test-skeleton: add usage informationMike Frysinger2-0/+41
I keep trying to run tests with --help and then remembering that does nothing when it throws an error. That means I have to dig into the source when I want to refer to flags or env vars and re-read a good amount of code to find the nested locations. Make this all much more user friendly with a usage screen that gets printed out whenever an unknown option is specified.
2015-08-05mmap64: fix undef warningsMike Frysinger2-3/+8
The only target that defines this is m68k, so move the existing fallback define up to avoid warnings on other systems.
2015-08-05nptl: fix set-but-unused warning w/_STACK_GROWS_UPMike Frysinger2-7/+16
On arches that set _STACK_GROWS_UP, the stacktop variable is declared and set, but never actually used. Refactor the code a bit so that the variable is only declared/set under _STACK_GROWS_DOWN settings.
2015-08-05Open development for 2.23.glibc-2.22.90Carlos O'Donell2-2/+5
2015-08-05Update version.h and include/features.h for 2.22 releaseglibc-2.22Carlos O'Donell3-3/+9
2015-08-04tilepro: fix warnings in sysdeps/tile/tilepro/bits/atomic.hChris Metcalf2-8/+18
Using a ({ }) structure avoids the "value computed is not used" that a simple () structure causes.
2015-08-04Properly terminate FDE in makecontext for ix86 (bug 18635)Andreas Schwab4-9/+13
2015-08-01Updated translations for 2.22.Carlos O'Donell7-2122/+2069
2015-08-01Deprecate the use of regexp.hZack Weinberg4-18/+39
<regexp.h> (not to be confused with <regex.h>) is an obsolete and frankly horrible regular expression-matching API. It was part of SVID but was withdrawn in Issue 5 (for reference, we're on Issue 7 now). It doesn't do anything you can't do with <regex.h>, and using it involves defining a bunch of macros before including the header. Moreover, the code in regexp.h that uses those macros has been buggy since its creation (in 1996) and no one has noticed, which indicates to me that there are no users. (Specifically, RETURN() is used in a whole bunch of cases where it should have been ERROR().) The header is given a warning and marked deprecated for 2.22. See: https://sourceware.org/ml/libc-alpha/2015-07/msg00862.html and https://sourceware.org/ml/libc-alpha/2015-07/msg00871.html.