about summary refs log tree commit diff
path: root/ChangeLog
Commit message (Collapse)AuthorAgeFilesLines
* powerpc: Use default strcpy optimization for POWER7Adhemerval Zanella2015-08-111-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patches uses the default strcpy/stpcpy implementation for POWER7/PPC64. This is faster in mostly inputs for benchtests and for multiarch the implementation uses the POWER7 strlen and memcpy. * string/stpcpy.c (__stpcpy): Use STPCPY to redefine symbol name and cleanup macro usage. * string/strcpy.c (strcpt): Use STRCPY to redefine symbol name. * sysdeps/powerpc/powerpc64/multiarch/stpcpy-power7.S: Remove file. * sysdeps/powerpc/powerpc64/multiarch/stpcpy-ppc64.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strcpy-power7.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strcpy-ppc64.S: Likewise. * sysdeps/powerpc/powerpc64/power7/stpcpy.S: Likewise. * sysdeps/powerpc/powerpc64/power7/strcpy.S: Likewise. * sysdeps/powerpc/powerpc64/power7/strcpy.c: Likewise. * sysdeps/powerpc/powerpc64/stpcpy.S: Likewise. * sysdeps/powerpc/powerpc64/strcpy.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/stpcpy.c [SHARED && IS_IN (libc)]: Include <string/strcpy.c>. * sysdeps/powerpc/powerpc64/multiarch/stpcpy.c [SHARED && IS_IN (libc)]: Include <string/stpcpy.c>. * sysdeps/powerpc/powerpc64/multiarch/stpcpy-power7.c: New file. * sysdeps/powerpc/powerpc64/multiarch/stpcpy-ppc64.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strcpy-power7.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strcpy-ppc64.c: Likewise. * sysdeps/powerpc/powerpc64/power7/strcpy.c: Likewise.
* powerpc: Fix strnlen/power7 buildAdhemerval Zanella2015-08-111-0/+4
| | | | This patch fixes the strnlen.S build with --disable-multi-arch option.
* powerpc: Fix strstr/power7 buildAdhemerval Zanella2015-08-111-0/+6
| | | | | | | | | | | | This patch fixes the strstr build with --disable-multi-arch option. The optimization calls the __strstr_ppc symbol, which always build for multiarch config but not if it is disable. This patch fixes it by adding the default C implementation object with the expected symbol name. * sysdeps/powerpc/powerpc64/power7/Makefile [$(subdir) = string] (sysdep_routines): Add strstr-ppc64. * sysdeps/powerpc/powerpc64/power7/strstr-ppc64.c: New file.
* Clear DF_1_NODELETE flag only for failed to load library.Maxim Ostapenko2015-08-111-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | https://sourceware.org/bugzilla/show_bug.cgi?id=18778 If dlopen fails to load an object that has triggered loading libpthread it causes ld.so to unload libpthread because its DF_1_NODELETE flags has been forcefully cleared. The next call to __rtdl_unlock_lock_recursive will crash since pthread_mutex_unlock no longer exists. This patch moves l->l_flags_1 &= ~DF_1_NODELETE out of loop through all loaded libraries and performs the action only on inconsistent one. [BZ #18778] * elf/Makefile (tests): Add Add tst-nodelete2. (modules-names): Add tst-nodelete2mod. (tst-nodelete2mod.so-no-z-defs): New. ($(objpfx)tst-nodelete2): Likewise. ($(objpfx)tst-nodelete2.out): Likewise. (LDFLAGS-tst-nodelete2): Likewise. * elf/dl-close.c (_dl_close_worker): Move DF_1_NODELETE clearing out of loop through all loaded libraries. * elf/tst-nodelete2.c: New file. * elf/tst-nodelete2mod.c: Likewise.
* Remove unused definition of __openat(64)_nocancelAndreas Schwab2015-08-111-0/+6
|
* Add more tests of various libm functions.Joseph Myers2015-08-111-0/+9
| | | | | | | | | | | | | | 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.
* Fix ldbl-128ibm tanhl inaccuracy (bug 18790).Joseph Myers2015-08-101-0/+9
| | | | | | | | | | | | | | | | 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.
* Readd O_LARGEFILE flag for openat64 (bug 18781)Andreas Schwab2015-08-101-0/+7
|
* Fix ldbl-128ibm sinhl inaccuracy near 0 (bug 18789).Joseph Myers2015-08-101-0/+9
| | | | | | | | | | | | | | | 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.
* Add a missing break in tst-auditmod3b.cH.J. Lu2015-08-091-0/+6
| | | | | | [BZ #18674] * sysdeps/i386/tst-auditmod3b.c (la_objsearch): Add a missing break.
* Remove unused variables from timezone/MakefileAndreas Schwab2015-08-091-0/+5
|
* gawk: fix gensub usageMike Frysinger2015-08-091-0/+5
| | | | | | 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
* fix non-portable `echo -n` usageMike Frysinger2015-08-091-0/+7
| | | | | | 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.
* hppa: put custom madvise defines behind __USE_MISCMike Frysinger2015-08-081-0/+5
| | | | | | 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.
* hppa: Fix miscompilation of sched_setaffinity() [BZ #18480]John David Anglin2015-08-081-0/+12
| | | | | | | | | 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.
* In preparation for fixing BZ#16734, fix failure in misc/tst-error1-memPaul Pluzhnikov2015-08-081-0/+5
| | | | when _G_HAVE_MMAP is turned off.
* Fix BZ #17905Paul Pluzhnikov2015-08-081-0/+8
|
* hppa: Fix reload error with atomic code [BZ #18787]John David Anglin2015-08-081-0/+9
| | | | | | | | | | | 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.
* microblaze: include unix/sysdep.hMike Frysinger2015-08-071-0/+6
| | | | | | 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.
* Fix tan missing underflows (bug 16517).Joseph Myers2015-08-071-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fix sysdeps/i386/fpu/s_scalbn.S buildSamuel Thibault2015-08-071-0/+6
| | | | * math/Versions (libc: GLIBC_2_22): New (empty) version set.
* hppa: _dl_symbol_address: add missing hidden defMike Frysinger2015-08-071-0/+4
| | | | | | | 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.
* Fix gcrt0.o compilationSamuel Thibault2015-08-071-0/+16
| | | | | | | | | | | | | | 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.
* Fix sinh missing underflows (bug 16519).Joseph Myers2015-08-061-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Add #include <unistd.h> to libio/oldfileops.c for write.Paul Pluzhnikov2015-08-061-0/+4
|
* fix missing ctype.h includeMike Frysinger2015-08-061-0/+4
| | | | | | | 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)
* Modify several tests to use test-skeleton.cArjun Shankar2015-08-061-0/+75
| | | | | | | | | 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.
* Correct comments about the history of <regexp.h>Zack Weinberg2015-08-051-0/+4
| | | | | | 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.
* Properly terminate FDE in makecontext for m68k (bug 18635)Andreas Schwab2015-08-051-0/+6
|
* Align stack to 16 bytes when calling __errno_locationH.J. Lu2015-08-051-0/+8
| | | | | | | | | | 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.
* Align stack to 16 bytes when calling __gettimeofdayH.J. Lu2015-08-051-0/+7
| | | | | | | | | | 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.
* Align stack to 16 bytes when calling __setcontextH.J. Lu2015-08-051-0/+7
| | | | | | | | | | 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.
* Compile {memcpy,strcmp}-sse2-unaligned.S only for libcH.J. Lu2015-08-051-0/+6
| | | | | | | | {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.
* Improve performance of mempcpy by inlining and using memcpy. EnableWilco Dijkstra2015-08-051-0/+6
| | | | | this for all targets except sparc which has an optimized mempcpy implementation.
* Improve memccpy performance by using memchr/memcpy/mempcpy rather thanWilco Dijkstra2015-08-051-0/+5
| | | | | a byte loop. Overall performance on bench-memccpy is > 2x faster when using the C implementation of memchr and an optimized memcpy.
* This patch improves strncpy performance by using strnlen/memcpy rather than ↵Wilco Dijkstra2015-08-051-0/+5
| | | | | | | 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.
* Improve feenableexcept performance - avoid an unnecessary FPCR read in caseWilco Dijkstra2015-08-051-0/+5
| | | | the FPCR does not change. Also improve the logic of the return value.
* Improve fesetenv performance by avoiding unnecessary FPSR/FPCR reads/writes.Wilco Dijkstra2015-08-051-0/+5
| | | | | | 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.
* Also check dead->data[category] != NULLH.J. Lu2015-08-051-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | _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.
* Fix powf (close to -1, large) (bug 18647).Joseph Myers2015-08-051-0/+8
| | | | | | | | | | | | | | | | 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.
* arm: Assembly implementation cleanupAdhemerval Zanella2015-08-051-0/+6
| | | | | | | This patch removes arm assembly implementation of mmap and mmap64. The new implementation used is the wordsize-32 generic linux one. Tested on armhf.
* localedata: remove timezone information [BZ #18525]Marko Myllynen2015-08-051-0/+10
| | | | | | | | | | 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.
* Updated __nonnull annotations for wcscat, wcsncat, wcscmp and wcsncmp [BZ ↵Daniel Marjamäki2015-08-051-0/+8
| | | | | | | | #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.
* test-skeleton: add usage informationMike Frysinger2015-08-051-0/+5
| | | | | | | | | | 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.
* mmap64: fix undef warningsMike Frysinger2015-08-051-0/+5
| | | | | The only target that defines this is m68k, so move the existing fallback define up to avoid warnings on other systems.
* nptl: fix set-but-unused warning w/_STACK_GROWS_UPMike Frysinger2015-08-051-0/+6
| | | | | | 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.
* Open development for 2.23. glibc-2.22.90Carlos O'Donell2015-08-051-0/+3
|
* Update version.h and include/features.h for 2.22 release glibc-2.22Carlos O'Donell2015-08-051-0/+6
|
* tilepro: fix warnings in sysdeps/tile/tilepro/bits/atomic.hChris Metcalf2015-08-041-0/+6
| | | | | Using a ({ }) structure avoids the "value computed is not used" that a simple () structure causes.
* Properly terminate FDE in makecontext for ix86 (bug 18635)Andreas Schwab2015-08-041-0/+7
|