about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* Fix trailing space.Paul Pluzhnikov2015-08-081-1/+1
|
* Fix BZ #17905Paul Pluzhnikov2015-08-086-18/+74
|
* hppa: Fix reload error with atomic code [BZ #18787]John David Anglin2015-08-083-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.
* microblaze: include unix/sysdep.hMike Frysinger2015-08-072-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.
* Fix tan missing underflows (bug 16517).Joseph Myers2015-08-079-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.
* locales/ce_RU: sync with other *_RU localesArslanbek Astemirov2015-08-073-7/+12
| | | | | | | [BZ #18618] * locales/ce_RU (LC_IDENTIFICATION): Fix language. (LC_TIME): Set first_weekday and first_workday. (LC_NUMERIC): Copy ru_RU.
* Fix sysdeps/i386/fpu/s_scalbn.S buildSamuel Thibault2015-08-072-0/+8
| | | | * math/Versions (libc: GLIBC_2_22): New (empty) version set.
* hppa: _dl_symbol_address: add missing hidden defMike Frysinger2015-08-072-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.
* Fix gcrt0.o compilationSamuel Thibault2015-08-072-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.
* Fix sinh missing underflows (bug 16519).Joseph Myers2015-08-0610-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.
* Add #include <unistd.h> to libio/oldfileops.c for write.Paul Pluzhnikov2015-08-062-0/+5
|
* fix missing ctype.h includeMike Frysinger2015-08-062-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)
* Modify several tests to use test-skeleton.cArjun Shankar2015-08-0619-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.
* Correct comments about the history of <regexp.h>Zack Weinberg2015-08-053-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.
* Properly terminate FDE in makecontext for m68k (bug 18635)Andreas Schwab2015-08-052-1/+10
|
* Align stack to 16 bytes when calling __errno_locationH.J. Lu2015-08-055-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.
* Align stack to 16 bytes when calling __gettimeofdayH.J. Lu2015-08-052-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.
* Align stack to 16 bytes when calling __setcontextH.J. Lu2015-08-052-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.
* Compile {memcpy,strcmp}-sse2-unaligned.S only for libcH.J. Lu2015-08-053-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.
* Improve performance of mempcpy by inlining and using memcpy. EnableWilco Dijkstra2015-08-053-0/+28
| | | | | this for all targets except sparc which has an optimized mempcpy implementation.
* Improve memccpy performance by using memchr/memcpy/mempcpy rather thanWilco Dijkstra2015-08-052-7/+9
| | | | | 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-052-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.
* Improve feenableexcept performance - avoid an unnecessary FPCR read in caseWilco Dijkstra2015-08-052-9/+12
| | | | 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-052-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.
* Also check dead->data[category] != NULLH.J. Lu2015-08-052-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.
* Fix powf (close to -1, large) (bug 18647).Joseph Myers2015-08-055-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.
* arm: Assembly implementation cleanupAdhemerval Zanella2015-08-054-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.
* localedata: remove timezone information [BZ #18525]Marko Myllynen2015-08-058-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.
* Updated __nonnull annotations for wcscat, wcsncat, wcscmp and wcsncmp [BZ ↵Daniel Marjamäki2015-08-053-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.
* test-skeleton: add usage informationMike Frysinger2015-08-052-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.
* mmap64: fix undef warningsMike Frysinger2015-08-052-3/+8
| | | | | 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-052-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.
* Open development for 2.23. glibc-2.22.90Carlos O'Donell2015-08-052-2/+5
|
* Update version.h and include/features.h for 2.22 release glibc-2.22Carlos O'Donell2015-08-053-3/+9
|
* tilepro: fix warnings in sysdeps/tile/tilepro/bits/atomic.hChris Metcalf2015-08-042-8/+18
| | | | | 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-044-9/+13
|
* Updated translations for 2.22.Carlos O'Donell2015-08-017-2122/+2069
|
* Deprecate the use of regexp.hZack Weinberg2015-08-014-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.
* Regenerate libc.pot for 2.22 release.Carlos O'Donell2015-07-312-296/+356
|
* Prevent runtime fail of SSE vector math tests on non SSE4.1 machine.Andrew Senkevich2015-07-303-4/+8
| | | | | | | | [BZ #18740] * sysdeps/x86_64/fpu/Makefile (double-vlen2-arch-ext-cflags, float-vlen4-arch-ext-cflags): Removed. * math/Makefile (CFLAGS-test-double-vlen2-wrappers.c, CFLAGS-test-float-vlen4-wrappers.c): Likewise.
* hppa: add bz entry for pthreadtypes.h fixMike Frysinger2015-07-302-19/+20
|
* hppa: fix pthreadtypes.h namespace failuresMike Frysinger2015-07-302-3/+9
| | | | | The conform tests flag the "aligned" symbol used inside the attributes, so rename it to __aligned__ like other headers.
* hppa: Remove custom lowlevellock.h.Torvald Riegel2015-07-302-334/+4
| | | | | This untested patch removes the custom lowlevellock.h on hppa. It seems to contain an implementation equivalent to the generic lowlevellock.h.
* hppa: sigaction.h: change sa_flags to an intMike Frysinger2015-07-292-1/+22
| | | | | This fixes the conform test for the sigaction.h header and makes it match all the other arches.
* hppa: fix sysdep.h header setupMike Frysinger2015-07-293-5/+9
| | | | | | | | | | | | | | | | The semi-recent SYSCALL_CANCEL inclusion broke hppa due to the sysdep.h headers not including the unix/sysdep.h headers. Rework the includes so we match the other ports: * hppa/sysdep.h: - Do not include sys/syscall.h as the unix sysdep.h headers do it. - Do not include config.h as libc-symbols.h does it, and it has no #ifdef multiple-include protection, and it breaks when some files do things like #undef __OPTIMIZE__. * sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h: - Drop the generic/sysdep.h as the unix sysdep.h headers include it. * sysdeps/unix/sysv/linux/hppa/sysdep.h: - Change to the unix & core hppa sysdep header stacks. - Undef a few defines that the core headers already set up for us.
* hppa: rewrite INLINE_SYSCALLMike Frysinger2015-07-292-22/+12
| | | | | | | | | | | | | | | | | | | The semi-recent SYSCALL_CANCEL macro imposes a slight nuance on the implementation of INLINE_SYSCALL: the nr argument cannot be expanded directly but must be passed on to another macro which may expand it. Most arches don't notice because INLINE_SYSCALL is defined in terms of INTERNAL_SYSCALL which has the additional layer of expansion, but on hppa, it was attempting to expand it directly. That causes build errors like so: ../sysdeps/unix/sysv/linux/sigsuspend.c: In function '__sigsuspend': ../sysdeps/unix/sysv/linux/sigsuspend.c:31:62: error: implicit declaration of function 'LOAD_ARGS___SYSCALL_NARGS' ../sysdeps/unix/sysv/linux/sigsuspend.c:31:304: error: called object 'LOAD_ARGS___SYSCALL_NARGS(set, 8)' is not a function So rewrite hppa's INLINE_SYSCALL to use INTERNAL_SYSCALL like other arches do. This is also a nice clean up as the two macros had quite a bit of duplicated logic.
* Extend local PLT reference checkH.J. Lu2015-07-296-19/+127
| | | | | | | | | | | | | | On x86, linker in binutils 2.26 and newer consolidates R_*_JUMP_SLOT with R_*_GLOB_DAT relocation against the same symbol. This patch extends local PLT reference check to support alternate relocations. [BZ #18078] * scripts/check-localplt.awk: Support alternate relocations. * scripts/localplt.awk: Also check relocations in DT_RELA/DT_REL sections. * sysdeps/unix/sysv/linux/i386/localplt.data: Mark free and malloc entries with + REL R_386_GLOB_DAT. * sysdeps/x86_64/localplt.data: New file.
* Added runtime check for AVX vector math tests.Andrew Senkevich2015-07-294-1/+34
| | | | | | | [BZ #18731] * sysdeps/x86_64/fpu/math-tests-arch.h: Added AVX runtime check. * sysdeps/x86_64/fpu/test-double-vlen4.c: Likewise. * sysdeps/x86_64/fpu/test-float-vlen8.c: Likewise.
* ia64: drop __tls_get_addr from expected ld.so plt usageMike Frysinger2015-07-282-4/+7
| | | | | | This file was updated with an educated guess as to the symbols needed, but on ia64, we don't have __tls_get_addr calls, so drop it from the list.
* ia64: atomic.h: fix atomic_exchange_and_add 64bit handlingMike Frysinger2015-07-282-3/+6
| | | | | | | | | | | | | | Way back in 2005 the atomic_exchange_and_add function was cleaned up to avoid the explicit size checking and instead let gcc handle things itself. Unfortunately that change ended up leaving beyond a cast to int, even when the incoming value was a long. This has flown under the radar for a long time due to the function not being heavily used in the tree (especially as a full 64bit field), but a recent change to semaphores made some nptl tests fail reliably. This is due to the code packing two 32bit values into one 64bit variable (where the high 32bits contained the number of waiters), and then the whole variable being atomically updated between threads. On ia64, that meant we never atomically updated the count, so sometimes the sem_post would not wake up the waiters.