about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
...
* [BZ #6803] Set errno for scalbln, scalbnStefan Liebler2014-06-2022-96/+292
| | | | | | | | | | | Errno is not set and the testcases will fail. Now the scalbln-aliases are removed in i386/m68 and the wrappers are used when calling the scalbln-functions. On ia64 only scalblnf has its own implementation. For scalbln and scalblnl the ieee754/dbl-64 and ieee754/ldbl-96 are used, thus the wrappers are needed, too.
* Generate en_GB.UTF-8 during testingStefan Liebler2014-06-202-1/+5
| | | | | | This patch generates en_GB.UTF-8, which is used in tst-strcoll-overflow. This solves the issue of failing xtests on s390/s390x.
* Use 3 bytes for __pad1 in pthread_rwlock_t for x32H.J. Lu2014-06-192-1/+12
| | | | | | | | | Since long is 4 bytes for x32, we should use 3 bytes for __pad1 when a long __pad1 is replaced by a byte __rwelision and __pad1. * sysdeps/x86/nptl/bits/pthreadtypes.h (pthread_rwlock_t): Use 3 bytes for __pad1 for x32. (__PTHREAD_RWLOCK_ELISION_EXTRA): Likewise.
* Add x86_64 memset optimized for AVX2Ling Ma2014-06-196-1/+284
| | | | | | | | | | | | | | | In this patch we take advantage of HSW memory bandwidth, manage to reduce miss branch prediction by avoiding using branch instructions and force destination to be aligned with avx & avx2 instruction. The CPU2006 403.gcc benchmark indicates this patch improves performance from 26% to 59%. * sysdeps/x86_64/multiarch/Makefile: Add memset-avx2. * sysdeps/x86_64/multiarch/memset-avx2.S: New file. * sysdeps/x86_64/multiarch/memset.S: Likewise. * sysdeps/x86_64/multiarch/memset_chk.S: Likewise. * sysdeps/x86_64/multiarch/rtld-memset.S: Likewise.
* Fix memory leak in regexp compiler (BZ #17069)Andreas Schwab2014-06-194-6/+60
|
* malloc/malloc.c: Avoid calling sbrk unnecessarily with zeroWill Newton2014-06-192-0/+8
| | | | | | | | | | | | | Due to my bad review suggestion for the fix for BZ #15089 a check was removed from systrim to prevent sbrk being called with a zero argument. Add the check back to avoid this useless work. ChangeLog: 2014-06-19 Will Newton <will.newton@linaro.org> * malloc/malloc.c (systrim): If extra is zero then return early.
* Remove unnecessary $(.)Siddhesh Poyarekar2014-06-192-1/+5
| | | | The variable is not necessary, especially since it does not exist.
* [AArch64] Add optimized strchr.Richard Earnshaw2014-06-193-0/+144
| | | | | | | | Implementation of strchr for AArch64. Speedups taken from micro-bench show the improvements relative to the standard C code. The use of LD1 means we have identical code for both big- and little-endian systems.
* Fix __ieee754_logl (-LDBL_MAX) in FE_DOWNWARD mode (bug 17022).Joseph Myers2014-06-185-5/+22
| | | | | | | | | | | | | | | | | | | This patch fixes __ieee754_logl (-LDBL_MAX) on x86_64 and x86 not to subtract 1 from its argument and so cause spurious overflow in FE_DOWNWARD mode. (For any argument strictly less than -1, it doesn't matter whether or not 1 is subtracted before computing log1p, as long as the result doesn't overflow to -Inf.) Tested x86_64 and x86. (This particular case lacks test coverage, since the testsuite doesn't cover -lieee, but it will be covered by tests after the following patch to test pow in all rounding modes, which was the context in which this bug was found.) [BZ #17022] * sysdeps/i386/fpu/e_logl.S (__ieee754_logl): Do not subtract 1 from arguments -2 or below. * sysdeps/i386/i686/fpu/e_logl.S (__ieee754_logl): Likewise. * sysdeps/x86_64/fpu/e_logl.S (__ieee754_logl): Likewise.
* Don't read past end of pattern in fnmatch (BZ #17062)Andreas Schwab2014-06-185-12/+44
|
* Use $(rtld-prefix) more consistently.Joseph Myers2014-06-186-5/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | The glibc makefiles have a standard variable, $(rtld-prefix), to run the dynamic linker with a default --library-path option; this is used as the basis of lots of other variables for running programs compiled with the newly built library. A few places however use $(elf-objpfx)ld.so or $(elf-objpfx)${rtld-installed-name} directly, with such a --library-path option. This patch makes such places use $(rtld-prefix) instead. I'm not aware of any significance in these cases to the choice of ld.so or ${rtld-installed-name} when running the dynamic linker, or to whether $(patsubst %,:%,$(sysdep-library-path)) is included in the library-path as it is in $(rtld-prefix) and just one of the places being changed. Tested x86_64. * elf/Makefile ($(objpfx)tst-unused-dep.out): Use $(rtld-prefix). * iconvdata/Makefile ($(inst_gconvdir)/gconv-modules) [$(cross-compiling) = no]: Likewise. * sysdeps/s390/s390-64/Makefile ($(inst_gconvdir)/gconv-modules) [$(cross-compiling) = no]: Likewise. localedata/ChangeLog: * Makefile (LOCALEDEF): Use $(rtld-prefix).
* PowerPC: Fix nearbyintl failure for few inputsRajalakshmi Srinivasaraghavan2014-06-174-1/+23
| | | | | | | | This patch fixes few failures in nearbyintl() where the fraction part is close to 0.5.i The new tests added report few extra failures in nearbyint_downward and nearbyint_towardzero which is a known issue. Fixes #17031.
* PowerPC: Move powerpc code out of nptl/ subdirectoryAdhemerval Zanella2014-06-177-0/+15
|
* Fix ChangeLog indentation.Adhemerval Zanella2014-06-171-66/+64
|
* Add CFI to x86 ceil / floor / trunc (bug 16681).Joseph Myers2014-06-1611-5/+36
| | | | | | | | | | | | | | | | | | | This patch adds CFI to the sysdeps/i386/fpu/ implementations of ceil, floor and trunc functions, for consistency with other x86 .S files in glibc which have CFI for stack adjustments. Tested x86. [BZ #16681] * sysdeps/i386/fpu/s_ceil.S (__ceil): Add CFI. * sysdeps/i386/fpu/s_ceilf.S (__ceilf): Likewise. * sysdeps/i386/fpu/s_ceill.S (__ceill): Likewise. * sysdeps/i386/fpu/s_floor.S (__floor): Likewise. * sysdeps/i386/fpu/s_floorf.S (__floorf): Likewise. * sysdeps/i386/fpu/s_floorl.S (__floorl): Likewise. * sysdeps/i386/fpu/s_trunc.S (__trunc): Likewise. * sysdeps/i386/fpu/s_truncf.S (__truncf): Likewise. * sysdeps/i386/fpu/s_truncl.S (__truncl): Likewise.
* m68k: update libm test ULPsAndreas Schwab2014-06-172-48/+886
|
* Fix typo in preprocessor conditionalAndreas Schwab2014-06-162-1/+4
|
* Pass $TIMEOUTFACTOR to tests also in cross testingAndreas Schwab2014-06-162-1/+6
|
* Fix tautological comparison in non-executed part of tst-setuid2 (BZ #17058)Florian Weimer2014-06-163-2/+8
| | | | | This part never runs with the current implementation because the setresuid call currently aborts (as intended).
* Update feature guard for strdup/strndup in <bits/string2.h>Andreas Schwab2014-06-162-2/+6
|
* Update Sparc ULPs.David S. Miller2014-06-142-0/+28
| | | | * sysdeps/sparc/fpu/libm-test-ulps: Update.
* m68k: Consolidate NPTL/non versions of cloneAndreas Schwab2014-06-143-6/+4
|
* m68k: Consolidate NPTL/non versions of vforkAndreas Schwab2014-06-145-85/+30
|
* Add fallback file for elide.hAndi Kleen2014-06-142-0/+29
| | | | | | Add the missing fallback file for elide.h to fix non x86 builds. Sorry about that. This is just a noop macro file that makes all elision code to be optimized out.
* Fix pthread.h in installed-headers list.Stefan Liebler2014-06-132-1/+5
|
* S390: Move NPTL public headers to sysdeps/s390/nptl/.Roland McGrath2014-06-133-0/+5
|
* Move S390 code out of nptl/sysdeps/s390/.Roland McGrath2014-06-139-0/+17
|
* S390: Convert fork.c to arch-fork.hRoland McGrath2014-06-132-3/+7
|
* Consolidate sparc clone, fork, and vfork implementations.David S. Miller2014-06-1312-167/+21
| | | | | | | | | | | | | | | | | | * nptl/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S: Delete. * nptl/sysdeps/unix/sysv/linux/sparc/sparc32/pt-vfork.S: Delete. * nptl/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: Moved ... * sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: ... here. * nptl/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Delete. * nptl/sysdeps/unix/sysv/linux/sparc/sparc64/pt-vfork.S: Delete. * nptl/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: Moved ... * sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: ... here. * sysdeps/unix/sysv/linux/sparc/fork.S: Delete. * sysdeps/unix/sysv/linux/sparc/pt-vfork.S: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__thread_start): Remove RESET_PID cpp guards. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__thread_start): Remove RESET_PID cpp guards. * sysdeps/unix/sysv/linux/sparc/vfork.S: Delete.
* m68k: avoid pointer to integer conversion warningAndreas Schwab2014-06-132-2/+7
|
* ChangeLog fixAndreas Schwab2014-06-131-1/+1
|
* Remove x86 assembler rwlock codeAndi Kleen2014-06-1321-2204/+23
| | | | | | | | | | With the recent tuning the C version of rwlocks is basically the same performance as the x86 assembler version for uncontended locks (with a a few cycles near the run-to-run variability). For others it should not matter anyways. So remove the assembler code and use the C version like other architectures.
* Add adaptive elision to rwlocksAndi Kleen2014-06-1323-5/+227
| | | | | | | | | | | | | | | | | | | This patch relies on the C version of the rwlocks posted earlier. With C rwlocks it is very straight forward to do adaptive elision using TSX. It is based on the infrastructure added earlier for mutexes, but uses its own elision macros. The macros are fairly general purpose and could be used for other elision purposes too. This version is much cleaner than the earlier assembler based version, and in particular implements adaptation which makes it safer. I changed the behavior slightly to not require any changes in the test suite and fully conform to all expected behaviors (generally at the cost of not eliding in various situations). In particular this means the timedlock variants are not elided. Nested trylock aborts.
* Add a fast path for C rd/wrlock v2Andi Kleen2014-06-133-44/+110
| | | | | | | | | | | | One difference of the C versions to the assembler wr/rdlock is that the C compiler saves some registers which are unnecessary for the fast path in the prologue of the functions. Split the uncontended fast path out into a separate function. Only when contention is detected is the full featured function called. This makes the fast path code (nearly) identical to the assembler version, and gives uncontended performance within a few cycles. v2: Rename some functions and add space.
* get_nprocs: Only return explictly set cache values (BZ #16996)Meador Inge2014-06-133-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The implementation of __get_nprocs uses a stactic variable to cache the value of the current number of processors. The caching breaks when 'time (NULL) == 0': $ cat nproc.c #include <stdio.h> #include <time.h> #include <sys/time.h> int main(int argc, char *argv[]) { time_t t; struct timeval tv = {0, 0}; printf("settimeofday({0, 0}, NULL) = %d\n", settimeofday(&tv, NULL)); t = time(NULL); printf("Time: %d, CPUs: %d\n", (unsigned int)t, get_nprocs()); return 0; } $ gcc -O3 nproc.c $ ./a.out settimeofday({0, 0}, NULL) = -1 Time: 1401311578, CPUs: 4 $ sudo ./a.out settimeofday({0, 0}, NULL) = 0 Time: 0, CPUs: 0 The problem is with the condition used to check whether a cached value should be returned or not: static int cached_result; static time_t timestamp; time_t now = time (NULL); time_t prev = timestamp; atomic_read_barrier (); if (now == prev) return cached_result; This patch fixes the problem by ensuring that 'cached_result' has been set at least once before returning it.
* Move SPARC public headers out of nptl/Roland McGrath2014-06-124-0/+7
|
* Move SPARC code out of nptl/sysdeps/sparc/.Roland McGrath2014-06-1220-4/+39
|
* SPARC: Define TLS_DEFINE_INIT_TPRoland McGrath2014-06-122-0/+5
|
* SPARC: Convert fork.c to arch-fork.hRoland McGrath2014-06-122-3/+5
|
* Use list.h in posix-timer code.Roland McGrath2014-06-123-43/+41
|
* Get rid of nptl/sysdeps/pthread/ subdirectoryRoland McGrath2014-06-1240-7/+105
|
* Consolidate NPTL sigprocmask.Roland McGrath2014-06-123-20/+5
|
* Move i386 code out of nptl/ subdirectory.Roland McGrath2014-06-1215-22/+32
|
* Move SH code out of nptl/ subdirectory.Roland McGrath2014-06-1233-4/+72
|
* posix_spawn_faction_addopen: Add missing string.h include directiveStefan Liebler2014-06-122-0/+5
| | | | This is needed to avoid a PLT call on s390.
* Move x86_64 code out of nptl/ subdirectory.Roland McGrath2014-06-1114-1/+32
|
* Update powerpc-fpu ULPs.Adhemerval Zanella2014-06-112-0/+28
|
* conformtest: clean up POSIX expectations for sys/mman.h, sys/stat.h, ↵Joseph Myers2014-06-114-2/+27
| | | | | | | | | | | | | | | | | | | | | | | | | sys/types.h. Continuing the series of patches to clean up conformtest expectations for "POSIX" (1995/6) based on review of the expectations against the standard, this patch cleans up expectations for sys/mman.h, sys/stat.h and sys/types.h. Tested x86_64; no new XFAILs needed. * conform/data/sys/mman.h-data [POSIX] (size_t): Do not require type. [POSIX] (off_t): Likewise. * conform/data/sys/stat.h-data (S_IRGRP): Require constant. [POSIX] (S_ISBLK): Require macro. [POSIX] (S_ISCHR): Likewise. [POSIX] (S_ISDIR): Likewise. [POSIX] (S_ISFIFO): Likewise. [POSIX] (S_ISREG): Likewise. [POSIX || XPG3 || XPG4 || UNIX98] (S_TYPEISTMO): Do not list optional-macro. * conform/data/sys/types.h-data [POSIX] (blkcnt_t): Do not require type. [POSIX] (time_t): Likewise. [POSIX] (timer_t): Likewise.
* posix_spawn_file_actions_addopen needs to copy the path argument (BZ 17048)Florian Weimer2014-06-116-8/+54
| | | | | | | | POSIX requires that we make a copy, so we allocate a new string and free it in posix_spawn_file_actions_destroy. Reported by David Reid, Alex Gaynor, and Glyph Lefkowitz. This bug may have security implications.
* tile: Consolidate NPTL/non versions of vforkChris Metcalf2014-06-114-6/+10
|