about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux
Commit message (Collapse)AuthorAgeFilesLines
* get_nprocs: Only return explictly set cache values (BZ #16996)Meador Inge2014-06-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-121-0/+99
|
* SPARC: Convert fork.c to arch-fork.hRoland McGrath2014-06-121-0/+27
|
* Get rid of nptl/sysdeps/pthread/ subdirectoryRoland McGrath2014-06-122-0/+60
|
* Consolidate NPTL sigprocmask.Roland McGrath2014-06-121-1/+2
|
* Move SH code out of nptl/ subdirectory.Roland McGrath2014-06-1223-0/+6138
|
* tile: Consolidate NPTL/non versions of vforkChris Metcalf2014-06-113-6/+2
|
* Tile: Define TLS_DEFINE_INIT_TPRoland McGrath2014-06-111-24/+0
|
* Alpha: Define TLS_DEFINE_INIT_TPRoland McGrath2014-06-111-22/+0
|
* PowerPC: Define TLS_DEFINE_INIT_TPRoland McGrath2014-06-111-24/+0
|
* AArch64: Define TLS_DEFINE_INIT_TPRoland McGrath2014-06-111-23/+0
|
* tile: move sysdeps/unix/sysv/linux/tile nptl files.Chris Metcalf2014-06-1053-269/+5
|
* hppa: Remove lowlevellock.c.Bernard Ogden2014-06-091-126/+0
| | | | | | 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.
* m68k: Define TLS_DEFINE_INIT_TPRoland McGrath2014-06-091-24/+0
|
* HPPA: Define TLS_DEFINE_INIT_TPRoland McGrath2014-06-091-22/+0
|
* MIPS: Define TLS_DEFINE_INIT_TPRoland McGrath2014-06-091-23/+0
|
* ARM: Define TLS_DEFINE_INIT_TPRoland McGrath2014-06-091-22/+0
|
* Start cleaning up TLS initial value for pthread_create.Roland McGrath2014-06-091-48/+0
|
* Fix memory overrun in getifaddrs_internal. Fixes bug 15698.Ondřej Bílka2014-06-051-2/+2
|
* aarch64: Remove nptl/vfork.SRichard Henderson2014-06-031-37/+0
|
* aarch64: Consolidate NPTL/non versions of vforkRichard Henderson2014-06-033-44/+74
| | | | | At the same time, incorporate the 0 -> 0x80000000 mapping of the pid expected by raise.c.
* aarch64: Consolidate NPTL/non versions of cloneRichard Henderson2014-06-032-53/+24
| | | | | | 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.
* SH: Consolidate NPTL/non versions of vforkRoland McGrath2014-06-022-29/+33
|
* aarch64: Remove PSEUDO_RETRichard Henderson2014-05-301-20/+3
|
* aarch64: Fix error return from __ioctlRichard Henderson2014-05-301-6/+7
| | | | | Forgotten in ca3cfa40c16ef34c74951a07a57cfcbcd58898b1 where the error branch was moved from PSEUDO_RET.
* m68k: Convert fork.c to arch-fork.hRoland McGrath2014-05-301-3/+2
|
* aarch64: Rely on syscalls preserving registersRichard Henderson2014-05-291-24/+12
| | | | | | | | 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.
* aarch64: Use tpidr_el0 rather than __errno_location in librtRichard Henderson2014-05-292-15/+5
|
* aarch64: Use tpidr_el0 rather than __read_tp in librtRichard Henderson2014-05-291-11/+3
|
* aarch64: Improve syscall-cancel stack frameRichard Henderson2014-05-291-86/+26
| | | | One push instead of N; use stp/ldp to halve the insns.
* aarch64: Pass regno parameter to SINGLE_THREAD_PRichard Henderson2014-05-291-10/+8
| | | | Use cbz instead of cmp+b.eq.
* aarch64: Share code in syscall-cancel.hRichard Henderson2014-05-291-14/+14
| | | | Fold nocancel and error handling paths.
* aarch64: Tabify sysdep-cancel.hRichard Henderson2014-05-291-51/+51
|
* Avoid stat/fstat in statvfs/fstatvfs (BZ #15132)Eric Wong2014-05-295-27/+18
| | | | | 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.
* SH: Consolidate NPTL/non versions of cloneRoland McGrath2014-05-281-6/+1
|
* tile: Convert fork.c to arch-fork.hRoland McGrath2014-05-281-4/+2
|
* IA64: Convert fork.c to arch-fork.hRoland McGrath2014-05-271-0/+29
|
* SH: Convert fork.c to arch-fork.hRoland McGrath2014-05-271-0/+28
|
* PowerPC: Move remaining nptl/sysdeps/unix/sysv/linux/powerpc/ files.Adhemerval Zanella2014-05-2613-0/+944
|
* PowerPC: Move NPTL ABI headers to sysdeps.Adhemerval Zanella2014-05-262-0/+266
|
* PowerPC: Move powerpc64 timer_*.c out of nptl/Adhemerval Zanella2014-05-266-0/+13
|
* PowerPC: Consolidate NPTL/non versions of cloneAdhemerval Zanella2014-05-262-27/+2
|
* PowerPC: Consolidate NPTL/non versions of vforkAdhemerval Zanella2014-05-262-0/+59
|
* arm,aarch64: Remove SINGLE_THREAD_P_PICRichard Henderson2014-05-252-2/+0
| | | | | | | | | | 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.
* aarch64: Tidy syscall error checkRichard Henderson2014-05-252-10/+13
| | | | | Move the error branch from the PSEUDO_RET macro to the PSEUDO macro. This is in line with other architectures, and will enable further improvments.
* aarch64: Remove DOARGS/UNDOARGS macrosRichard Henderson2014-05-252-24/+1
| | | | While they do something for AArch32, they're useless for AArch64.
* aarch64: Fix DO_CALL block commentRichard Henderson2014-05-251-1/+1
|
* alpha: Do non-default symbols in pt-vfork.SRichard Henderson2014-05-252-6/+14
|
* alpha: Move remaining files out of sysdeps/unix/sysv/linux/alpha/nptl/Richard Henderson2014-05-2332-15/+16
|
* alpha: Consolidate NPTL/non versions of vforkRichard Henderson2014-05-234-59/+62
|