aboutsummaryrefslogtreecommitdiff
path: root/nptl
AgeCommit message (Collapse)Author
2012-07-20Fix tst-pthread-getattr test caseSiddhesh Poyarekar
In some cases, the compiler would optimize out the call to allocate_and_test and thus result in a false positive for the test case. Another problem was the fact that the compiler could in some cases generate additional shifting of the stack pointer, resulting in alloca moving the stack pointer beyond what is allowed by the rlimit. Hence, accessing the stackaddr returned by pthread_getattr_np is safer than relying on the alloca'd result. Another problem is when RLIMIT may be very large, which may result in violation of other resource limits. Hence we cap the max stack size to 8M for this test.
2012-07-19Fix comment that describes sighandler_setxidSiddhesh Poyarekar
2012-06-23SH: __lll_robust_timedlock_wait: Simplify CFI directives.Thomas Schwinge
2012-06-20Account for the extra stack size when rlimit is small enoughSiddhesh Poyarekar
When rlimit is small enough to be used as the stacksize to be returned in pthread_getattr_np, cases where a stack is made executable due to a DSO load get stack size that is larger than what the kernel allows. This is because in such a case the stack size does not account for the pages that have auxv and program arguments. Additionally, the stacksize for the process derived from this should be truncated to align to page size to avoid going beyond rlimit.
2012-06-07Fix build on non-v9 sparc32.Carlos Sánchez de La Lama
nptl/ [BZ #14205] * sysdeps/sparc/sparc32/pthread_spin_lock.S: Do not use v9 branches.
2012-06-04Wrap __builtin_expect in pthread.hSiddhesh Poyarekar
[BZ #14188] This fixes compilation of programs using pthread_cleanup_push built with non-gcc compilers and older gcc compilers.
2012-05-30Use x86-64 bits/pthreadtypes.h/semaphore.h for i386/x86-64H.J. Lu
2012-05-30Move CL entryAndreas Schwab
2012-05-30Remove use of INTDEF/INTUSE in nptlAndreas Schwab
2012-05-28SH: Add CFI directives.Chung-Lin Tang
2012-05-28SH: Add CFI directives.Chung-Lin Tang
2012-05-26Fix stack size and address inconsistency due to executable stackSiddhesh Poyarekar
When a stack is marked executable due to loading a DSO that requires an executable stack, the logic tends to leave out a portion of stack after the first frame, thus causing a difference in the value returned by pthread_getattr_np before and after the stack is marked executable. It ought to be possible to fix this by marking the rest of the stack as executable too, but in the interest of marking as less of the stack as executable as possible, the path this fix takes is to make pthread_getattr_np also look at the first frame as the underflow end of the stack and compute size and stack top accordingly. The above happens only for the main process stack. NPTL thread stacks are not affected by this change.
2012-05-25i386 port of the pthread SystemTap probesRayson Ho
2012-05-25Add systemtap static probe points in generic and x86_64 pthread code.Roland McGrath
2012-05-25Add --enable-systemtap configuration to define static probe points.Roland McGrath
2012-05-17Fix warnings on Linux/i686Andreas Jaeger
Fixes: ../sysdeps/i386/dl-machine.h:336:30: warning: unused variable ‘refsym’ [-Wunused-variable] rtld.c:1435:3: warning: implicit declaration of function ‘_dl_discover_osversion’ [-Wimplicit-function-declaration]
2012-05-15Remove fallback definitions of __NR_set_robust_list.Joseph Myers
2012-05-15Split up stackguard-macros.h into sysdeps directories.Joseph Myers
2012-05-15Use R*_LP to load pointer and operate on stackH.J. Lu
2012-05-15Use LP_OP(cmp) and RCX_LP on dep_mutex pointerH.J. Lu
2012-05-15Use LP_OP(op), LP_SIZE and ASM_ADDR in sem_wait.SH.J. Lu
2012-05-15se LP_OP(op), LP_SIZE and ASM_ADDR in sem_timedwait.SH.J. Lu
2012-05-15Use LP_OP(cmp) on NWAITERSH.J. Lu
2012-05-15Use LP_SIZE and ASM_ADDR in pthread_once.SH.J. Lu
2012-05-15Use LP_OP(cmp), R*_LP, LP_SIZE and ASM_ADDRH.J. Lu
2012-05-15Use LP_OP(cmp), R*_LP, LP_SIZE and ASM_ADDRH.J. Lu
2012-05-15Use LP_OP(cmp) and RCX_LP on dep_mutex pointerH.J. Lu
2012-05-15Use LP_OP(mov) and RDI_LP on pointerH.J. Lu
2012-05-15Use LP_SIZE and load timeout pointer into RDX_LPH.J. Lu
2012-05-15Allow a single-threaded program to cancel itselfSiddhesh Poyarekar
There is nothing in the POSIX specification to disallow a single-threaded program from cancelling itself, so we forcibly enable multiple_threads to allow the next available cancellation point in the thread to run. Also added additional tests to cover various cancellation scenarios.
2012-05-14Add x32 support to tcbhead_tH.J. Lu
2012-05-14Add __PTHREAD_RWLOCK_INT_FLAGS_SHAREDH.J. Lu
2012-05-14Add sysdeps/x86_64/{64,x32}/shlib-versionsH.J. Lu
2012-05-14Add x32 pthread typesH.J. Lu
2012-05-11Update comments for CALL_THREAD_FCTH.J. Lu
2012-05-11Add sysdeps/x86_64/x32/tls.hH.J. Lu
2012-05-11Fix a typo in ChangeLo.H.J. Lu
2012-05-11Use uint64_t on 64-bit integerH.J. Lu
2012-05-11Replace movq/%q0 with mov/%0 in THREAD_SELFH.J. Lu
2012-05-11Check __x86_64__ for __cleanup_fct_attributeH.J. Lu
2012-05-11Check __PTHREAD_MUTEX_HAVE_PREV for mutex initializersH.J. Lu
2012-05-11Check __PTHREAD_MUTEX_HAVE_PREV for mutex prevH.J. Lu
2012-05-10Hurd: libc_once_getThomas Schwinge
2012-05-09Use CFI statements instead of hand-coding .eh_frame.Chung-Lin Tang
2012-05-03Fix minor fallout from yesterdays sparc nptl changes.David S. Miller
nptl/ * sysdeps/sparc/sparc64/pthread_spin_unlock.S: Fix thinko, we always have to return 0, especially for the pthread_spin_init alias. * sysdeps/sparc/sparc32/pthread_spin_lock.S: Add missing trailing newline. * sysdeps/sparc/sparc32/sparcv9/pthread_spin_lock.S: Likewise. * sysdeps/sparc/sparc64/pthread_spin_lock.S: Likewise.
2012-05-02Mirror i386 change on sparc: 'Avoid "anonymous" code in pthread_spin_lock'David S. Miller
nptl/ * sysdeps/sparc/sparc64/pthread_spin_lock.S: New. * sysdeps/sparc/sparc64/pthread_spin_lock.c: Delete. * sysdeps/sparc/sparc64/pthread_spin_unlock.S: New. * sysdeps/sparc/sparc64/pthread_spin_unlock.c: Delete. * sysdeps/sparc/sparc64/pthread_spin_trylock.S: New. * sysdeps/sparc/sparc64/pthread_spin_trylock.c: Delete. * sysdeps/sparc/sparc64/pthread_spin_init.c: New. * sysdeps/sparc/sparc32/pthread_spin_lock.S: New. * sysdeps/sparc/sparc32/pthread_spin_lock.c: Delete. * sysdeps/sparc/sparc32/pthread_spin_trylock.S: New. * sysdeps/sparc/sparc32/pthread_spin_trylock.c: Delete. * sysdeps/sparc/sparc32/sparcv9/pthread_spin_lock.S: New. * sysdeps/sparc/sparc32/sparcv9/pthread_spin_lock.c: Delete. * sysdeps/sparc/sparc32/sparcv9/pthread_spin_trylock.S: New. * sysdeps/sparc/sparc32/sparcv9/pthread_spin_trylock.c: Delete. * sysdeps/sparc/sparc32/sparcv9/pthread_spin_unlock.S: New. * sysdeps/sparc/sparc32/sparcv9/pthread_spin_unlock.c: Delete. * sysdeps/sparc/sparc32/sparcv9/pthread_spin_init.c: New.
2012-05-02Fix test-suite failues with -Wl,--as-neededAllan McRae
Signed-off-by: Allan McRae <allan@archlinux.org>
2012-05-02Kill trailing whitespace.Paul Pluzhnikov
2012-05-02Avoid "anonymous" code in pthread_spin_lock.Paul Pluzhnikov
2012-04-28Don't run tests when cross-compilingAndreas Schwab