about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Tile: Define TLS_DEFINE_INIT_TPRoland McGrath2014-06-113-24/+7
|
* S390: Define TLS_DEFINE_INIT_TPRoland McGrath2014-06-112-0/+5
|
* Alpha: Define TLS_DEFINE_INIT_TPRoland McGrath2014-06-113-22/+6
|
* PowerPC: Define TLS_DEFINE_INIT_TPRoland McGrath2014-06-113-24/+7
|
* AArch64: Define TLS_DEFINE_INIT_TPRoland McGrath2014-06-113-23/+8
|
* PowerPC: Optimized strcmp for PPC64/POWER7Vidya Ranganathan2014-06-117-1/+329
| | | | | | Optimization is achieved on 8 byte aligned strings with double word comparison using cmpb instruction. On unaligned strings loop unrolling is applied for Power7 gain.
* Validate bench.out against a JSON schemaSiddhesh Poyarekar2014-06-114-0/+135
| | | | | This patch adds a JSON schema for the benchmark output file and also adds a script that validates the generated output against the schema.
* Fix ChangeLog indentation.Adhemerval Zanella2014-06-101-104/+104
|
* tile: move sysdeps/unix/sysv/linux/tile nptl files.Chris Metcalf2014-06-1054-2/+164
|
* Add FE_NOMASK_ENV return value test.Wilco2014-06-103-1/+129
|
* Fix log2 (1) in round-downward mode (bug 17042).Joseph Myers2014-06-1011-8/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | As with other issues of this kind, bug 17042 is log2 (1) wrongly returning -0 instead of +0 in round-downward mode because of implementations effectively in terms of log1p (x - 1). This patch fixes the issue in the same way used for log and log10. Tested x86_64 and x86 and ulps updated accordingly. Also tested for mips64 to confirm a fix was needed for ldbl-128 and to validate that fix (also applied to ldbl-128ibm since that version of log2l is essentially the same as the ldbl-128 one). [BZ #17042] * sysdeps/i386/fpu/e_log2.S (__ieee754_log2): Take absolete value when x - 1 is zero. * sysdeps/i386/fpu/e_log2f.S (__ieee754_log2f): Likewise. * sysdeps/i386/fpu/e_log2l.S (__ieee754_log2l): Likewise. * sysdeps/ieee754/ldbl-128/e_log2l.c (__ieee754_log2l): Return 0.0L for an argument of 1.0L. * sysdeps/ieee754/ldbl-128ibm/e_log2l.c (__ieee754_log2l): Likewise. * sysdeps/x86_64/fpu/e_log2l.S (__ieee754_log2l): Take absolute value when x - 1 is zero. * math/libm-test.inc (log2_test): Use ALL_RM_TEST. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
* hppa: Remove lowlevellock.c.Bernard Ogden2014-06-092-126/+5
| | | | | | The hppa port has no need of a custom lowlevellock.c, it should use the generic version which is updated and correct. This similarly fixes bug 15119 for hppa.
* SH: Define TLS_DEFINE_INIT_TPRoland McGrath2014-06-093-23/+7
|
* m68k: Define TLS_DEFINE_INIT_TPRoland McGrath2014-06-093-24/+6
|
* HPPA: Define TLS_DEFINE_INIT_TPRoland McGrath2014-06-093-22/+6
|
* MIPS: Define TLS_DEFINE_INIT_TPRoland McGrath2014-06-093-23/+7
|
* ARM: Define TLS_DEFINE_INIT_TPRoland McGrath2014-06-093-22/+5
|
* Start cleaning up TLS initial value for pthread_create.Roland McGrath2014-06-095-70/+58
|
* Remove special makefile rules / .sh files for some localedata tests.Joseph Myers2014-06-094-95/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The localedata tests tst-mbswcs and tst-wctype use custom .sh scripts and makefile rules, but have no need to do so. tst-mbswcs.sh runs a series of test programs in succession (and nothing special is done with the output of the programs); this patch makes the separate tests into ordinary tests run directly by the usual makefile rules. tst-wctype.sh runs one test with an environment variable and input redirection; generic makefile rules also cover that, so again this patch converts it into an ordinary test. (The makefile dependency of tst-wctype.out on sort-test.out that this patch removes appears to be a cut-and-paste error; the test does not appear to use that file. There is already a generic dependency of ordinary tests in this directory on $(addprefix $(objpfx),$(CTYPE_FILES)).) Tested x86_64. localedata/ChangeLog: * Makefile (test-srcs): Remove tst-mbswcs1, tst-mbswcs2, tst-mbswcs3, tst-mbswcs4, tst-mbswcs5 and tst-wctype. (generated): Remove tst-mbswcs.out. (tests): Add tst-mbswcs1, tst-mbswcs2, tst-mbswcs3, tst-mbswcs4, tst-mbswcs5 and tst-wctype. (tests-special): Remove $(objpfx)tst-mbswcs.out and $(objpfx)tst-wctype.out. ($(objpfx)tst-mbswcs.out): Remove rule. ($(objpfx)tst-wctype.out): Likewise. (tst-wctype-ENV): New variable. * tst-mbswcs.sh: Remove file. * tst-wctype.sh: Likewise.
* conformtest: clean up POSIX expectations for termios.h, time.h.Joseph Myers2014-06-093-3/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 termios.h and time.h. Tested x86_64; no new XFAILs needed. * conform/data/termios.h-data [POSIX] (IUCLC): Do not expect constant. [POSIX] (IXANY): Likewise. [POSIX] (OLCUC): Likewise. [POSIX || POSIX2008] (CBAUD): Do not allow. [POSIX || POSIX2008] (DEFECHO): Likewise. [POSIX || POSIX2008] (ECHOCTL): Likewise. [POSIX || POSIX2008] (ECHOKE): Likewise. [POSIX || POSIX2008] (ECHOPRT): Likewise. [POSIX || POSIX2008] (EXTA): Likewise. [POSIX || POSIX2008] (EXTB): Likewise. [POSIX || POSIX2008] (FLUSHO): Likewise. [POSIX || POSIX2008] (LOBLK): Likewise. [POSIX || POSIX2008] (PENDIN): Likewise. [POSIX || POSIX2008] (SWTCH): Likewise. [POSIX || POSIX2008] (VDISCARD): Likewise. [POSIX || POSIX2008] (VDSUSP): Likewise. [POSIX || POSIX2008] (VLNEXT): Likewise. [POSIX || POSIX2008] (VREPRINT): Likewise. [POSIX || POSIX2008] (VSTATUS): Likewise. [POSIX || POSIX2008] (VWERASE): Likewise. (B*): Change to B[0123456789]*. * conform/data/time.h-data [POSIX || UNIX98] (CLOCK_PROCESS_CPUTIME_ID): Do not expect constant. [POSIX || UNIX98] (CLOCK_THREAD_CPUTIME_ID): Likewise. [POSIX || UNIX98] (CLOCK_MONOTONIC): Likewise. [POSIX] (tm_*): Do not allow.