aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix
AgeCommit message (Collapse)Author
2014-06-14m68k: Consolidate NPTL/non versions of cloneAndreas Schwab
2014-06-14m68k: Consolidate NPTL/non versions of vforkAndreas Schwab
2014-06-13S390: Convert fork.c to arch-fork.hRoland McGrath
2014-06-13Consolidate sparc clone, fork, and vfork implementations.David S. Miller
* 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.
2014-06-13Remove x86 assembler rwlock codeAndi Kleen
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.
2014-06-13Add adaptive elision to rwlocksAndi Kleen
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.
2014-06-13get_nprocs: Only return explictly set cache values (BZ #16996)Meador Inge
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.
2014-06-12Move SPARC public headers out of nptl/Roland McGrath
2014-06-12SPARC: Convert fork.c to arch-fork.hRoland McGrath
2014-06-12Get rid of nptl/sysdeps/pthread/ subdirectoryRoland McGrath
2014-06-12Consolidate NPTL sigprocmask.Roland McGrath
2014-06-12Move SH code out of nptl/ subdirectory.Roland McGrath
2014-06-11tile: Consolidate NPTL/non versions of vforkChris Metcalf
2014-06-11Tile: Define TLS_DEFINE_INIT_TPRoland McGrath
2014-06-11Alpha: Define TLS_DEFINE_INIT_TPRoland McGrath
2014-06-11PowerPC: Define TLS_DEFINE_INIT_TPRoland McGrath
2014-06-11AArch64: Define TLS_DEFINE_INIT_TPRoland McGrath
2014-06-10tile: move sysdeps/unix/sysv/linux/tile nptl files.Chris Metcalf
2014-06-09hppa: Remove lowlevellock.c.Bernard Ogden
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.
2014-06-09m68k: Define TLS_DEFINE_INIT_TPRoland McGrath
2014-06-09HPPA: Define TLS_DEFINE_INIT_TPRoland McGrath
2014-06-09MIPS: Define TLS_DEFINE_INIT_TPRoland McGrath
2014-06-09ARM: Define TLS_DEFINE_INIT_TPRoland McGrath
2014-06-09Start cleaning up TLS initial value for pthread_create.Roland McGrath
2014-06-05Fix memory overrun in getifaddrs_internal. Fixes bug 15698.Ondřej Bílka
2014-06-03aarch64: Remove nptl/vfork.SRichard Henderson
2014-06-03aarch64: Consolidate NPTL/non versions of vforkRichard Henderson
At the same time, incorporate the 0 -> 0x80000000 mapping of the pid expected by raise.c.
2014-06-03aarch64: Consolidate NPTL/non versions of cloneRichard Henderson
At the same time, rely on non-clobbered registers across syscall so that we eliminate the stack frame that we previously ignored in the unwind info.
2014-06-02SH: Consolidate NPTL/non versions of vforkRoland McGrath
2014-05-30aarch64: Remove PSEUDO_RETRichard Henderson
2014-05-30aarch64: Fix error return from __ioctlRichard Henderson
Forgotten in ca3cfa40c16ef34c74951a07a57cfcbcd58898b1 where the error branch was moved from PSEUDO_RET.
2014-05-30m68k: Convert fork.c to arch-fork.hRoland McGrath
2014-05-29aarch64: Rely on syscalls preserving registersRichard Henderson
In several cases we've had asm routines rely on syscalls not clobbering call-clobbered registers, and that's now deemed ABI. So take advantage of this in the INLINE_SYSCALL path as well. Shrinks libc.so by about 1k.
2014-05-29aarch64: Use tpidr_el0 rather than __errno_location in librtRichard Henderson
2014-05-29aarch64: Use tpidr_el0 rather than __read_tp in librtRichard Henderson
2014-05-29aarch64: Improve syscall-cancel stack frameRichard Henderson
One push instead of N; use stp/ldp to halve the insns.
2014-05-29aarch64: Pass regno parameter to SINGLE_THREAD_PRichard Henderson
Use cbz instead of cmp+b.eq.
2014-05-29aarch64: Share code in syscall-cancel.hRichard Henderson
Fold nocancel and error handling paths.
2014-05-29aarch64: Tabify sysdep-cancel.hRichard Henderson
2014-05-29Avoid stat/fstat in statvfs/fstatvfs (BZ #15132)Eric Wong
Delay the use of stat/fstat until stat data is required. When the kernel returns ST_VALID, stat data is not used by __internal_statvfs.
2014-05-28SH: Consolidate NPTL/non versions of cloneRoland McGrath
2014-05-28tile: Convert fork.c to arch-fork.hRoland McGrath
2014-05-27IA64: Convert fork.c to arch-fork.hRoland McGrath
2014-05-27SH: Convert fork.c to arch-fork.hRoland McGrath
2014-05-26PowerPC: Move remaining nptl/sysdeps/unix/sysv/linux/powerpc/ files.Adhemerval Zanella
2014-05-26PowerPC: Move NPTL ABI headers to sysdeps.Adhemerval Zanella
2014-05-26PowerPC: Move powerpc64 timer_*.c out of nptl/Adhemerval Zanella
2014-05-26PowerPC: Consolidate NPTL/non versions of cloneAdhemerval Zanella
2014-05-26PowerPC: Consolidate NPTL/non versions of vforkAdhemerval Zanella
2014-05-25arm,aarch64: Remove SINGLE_THREAD_P_PICRichard Henderson
This macro was removed by 2005-11-16 Daniel Jacobowitz <dan@codesourcery.com> but not applied to the (still separate) eabi port so necro'd when the eabi port superceded the old abi. It was thence copied into the new AArch64 port.