Joseph Myers
93df14eee8
Remove some pre-2.6.16 Linux kernel conditionals.
2012-08-07 23:03:35 +00:00
Joseph Myers
85fe199795
Remove some pre-2.6.0 Linux kernel conditionals.
2012-08-03 19:54:08 +00:00
Siddhesh Poyarekar
fc56c5bbc1
Fix tst-pthread-getattr test case
...
Get the tst-pthread-getattr fix back with further improvements so that
it does not fail on targets that use the user stack to save
context.
2012-07-28 13:25:01 +05:30
Andreas Schwab
842a39cd1a
Remove unused pseudo_end label
2012-07-25 21:58:17 +02:00
Siddhesh Poyarekar
77b32274e9
Revert fix to tst-pthread-getattr since it fails on sparc
2012-07-25 20:43:55 +05:30
Siddhesh Poyarekar
b2ae49dab8
Fix tst-pthread-getattr test case
...
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-20 23:28:34 +05:30
Siddhesh Poyarekar
a98430587c
Fix comment that describes sighandler_setxid
2012-07-19 07:04:24 +05:30
Thomas Schwinge
4b2c8da708
SH: __lll_robust_timedlock_wait: Simplify CFI directives.
2012-06-23 12:17:44 +02:00
Siddhesh Poyarekar
18b5e737de
Account for the extra stack size when rlimit is small enough
...
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-20 15:08:22 +05:30
Carlos Sánchez de La Lama
24a6dbed9b
Fix build on non-v9 sparc32.
...
nptl/
[BZ #14205 ]
* sysdeps/sparc/sparc32/pthread_spin_lock.S: Do not use v9
branches.
2012-06-07 11:57:09 -07:00
Siddhesh Poyarekar
4af3879c26
Wrap __builtin_expect in pthread.h
...
[BZ #14188 ]
This fixes compilation of programs using pthread_cleanup_push built
with non-gcc compilers and older gcc compilers.
2012-06-04 11:53:57 +05:30
H.J. Lu
0e20515a17
Use x86-64 bits/pthreadtypes.h/semaphore.h for i386/x86-64
2012-05-30 17:29:22 -07:00
Andreas Schwab
865eac65c2
Move CL entry
2012-05-30 08:49:59 +02:00
Chung-Lin Tang
d701a1abe2
SH: Add CFI directives.
2012-05-28 00:47:07 +02:00
Chung-Lin Tang
65a4de4e06
SH: Add CFI directives.
2012-05-28 00:11:06 +02:00
Siddhesh Poyarekar
9c6ea9facb
Fix stack size and address inconsistency due to executable stack
...
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-26 09:48:26 +05:30
Rayson Ho
1755728208
i386 port of the pthread SystemTap probes
2012-05-25 13:41:04 -07:00
Roland McGrath
5acf7263d5
Add systemtap static probe points in generic and x86_64 pthread code.
2012-05-25 13:41:03 -07:00
Roland McGrath
3a097cc7a1
Add --enable-systemtap configuration to define static probe points.
2012-05-25 13:40:20 -07:00
Andreas Jaeger
de7f5ce7c5
Fix warnings on Linux/i686
...
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-17 20:17:53 +02:00
Joseph Myers
048073995f
Remove fallback definitions of __NR_set_robust_list.
2012-05-15 23:36:35 +00:00
H.J. Lu
f16af74217
Use R*_LP to load pointer and operate on stack
2012-05-15 14:25:31 -07:00
H.J. Lu
d9754f5572
Use LP_OP(cmp) and RCX_LP on dep_mutex pointer
2012-05-15 13:39:25 -07:00
H.J. Lu
dde05f0093
Use LP_OP(op), LP_SIZE and ASM_ADDR in sem_wait.S
2012-05-15 12:48:26 -07:00
H.J. Lu
9dba3b5c0a
se LP_OP(op), LP_SIZE and ASM_ADDR in sem_timedwait.S
2012-05-15 12:47:31 -07:00
H.J. Lu
5f658cf147
Use LP_OP(cmp) on NWAITERS
2012-05-15 10:25:51 -07:00
H.J. Lu
6cae4b26ca
Use LP_SIZE and ASM_ADDR in pthread_once.S
2012-05-15 10:24:19 -07:00
H.J. Lu
592f90e6ec
Use LP_OP(cmp), R*_LP, LP_SIZE and ASM_ADDR
2012-05-15 10:23:22 -07:00
H.J. Lu
0e8860ad21
Use LP_OP(cmp), R*_LP, LP_SIZE and ASM_ADDR
2012-05-15 10:21:32 -07:00
H.J. Lu
30996e9369
Use LP_OP(cmp) and RCX_LP on dep_mutex pointer
2012-05-15 10:20:15 -07:00
H.J. Lu
289ac4352a
Use LP_OP(mov) and RDI_LP on pointer
2012-05-15 10:19:11 -07:00
H.J. Lu
10f74fbcde
Use LP_SIZE and load timeout pointer into RDX_LP
2012-05-15 10:03:56 -07:00
Siddhesh Poyarekar
439bf404b8
Allow a single-threaded program to cancel itself
...
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-15 09:41:57 +05:30
H.J. Lu
2949684c16
Add x32 support to tcbhead_t
2012-05-14 20:58:24 -07:00
H.J. Lu
245a11d7bd
Add __PTHREAD_RWLOCK_INT_FLAGS_SHARED
2012-05-14 16:48:59 -07:00
H.J. Lu
0b254d8f3d
Add sysdeps/x86_64/{64,x32}/shlib-versions
2012-05-14 16:23:57 -07:00
H.J. Lu
b8caea2cb9
Add x32 pthread types
2012-05-14 12:56:56 -07:00
H.J. Lu
60d45b36a5
Add sysdeps/x86_64/x32/tls.h
2012-05-11 14:33:12 -07:00
H.J. Lu
eae2d36a96
Fix a typo in ChangeLo.
2012-05-11 11:34:48 -07:00
H.J. Lu
a04e06bc4c
Use uint64_t on 64-bit integer
2012-05-11 10:14:57 -07:00
H.J. Lu
512ec530c7
Replace movq/%q0 with mov/%0 in THREAD_SELF
2012-05-11 10:13:54 -07:00
H.J. Lu
c0d2c8538a
Check __x86_64__ for __cleanup_fct_attribute
2012-05-11 10:12:42 -07:00
H.J. Lu
1f59b0b121
Check __PTHREAD_MUTEX_HAVE_PREV for mutex initializers
2012-05-11 10:10:37 -07:00
H.J. Lu
c252ec1579
Check __PTHREAD_MUTEX_HAVE_PREV for mutex prev
2012-05-11 10:08:57 -07:00
Thomas Schwinge
be971a2b1c
Hurd: libc_once_get
2012-05-10 15:57:24 -07:00
Chung-Lin Tang
e1b4354e66
Use CFI statements instead of hand-coding .eh_frame.
2012-05-09 17:48:42 +08:00
David S. Miller
76e835cf9e
Fix minor fallout from yesterdays sparc nptl changes.
...
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-03 11:48:13 -07:00
David S. Miller
e2dbf201ab
Mirror i386 change on sparc: 'Avoid "anonymous" code in pthread_spin_lock'
...
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-02 19:04:54 -07:00
Allan McRae
d4c2917fc5
Fix test-suite failues with -Wl,--as-needed
...
Signed-off-by: Allan McRae <allan@archlinux.org>
2012-05-02 20:32:50 -04:00
Paul Pluzhnikov
b93d565a51
Avoid "anonymous" code in pthread_spin_lock.
2012-05-02 13:58:40 -07:00
Andreas Schwab
6d5c57fabd
Don't run tests when cross-compiling
2012-04-28 22:16:37 +02:00
Siddhesh Poyarekar
6e236b9276
move libgcc_s soname definition to shlib-versions
2012-04-26 09:19:54 +05:30
Paul Pluzhnikov
0cec7c5407
Delete unused TLS_GET_FS, TLS_SET_FS macros.
2012-04-20 09:52:13 -07:00
David S. Miller
7ac88e3831
Fix nptl/tst-cond1{6,7,8}.c on 32-bit with many cpus.
...
* tst-cond16.c (do_test): Use a thread stack size which is either
PTHREAD_STACK_MIN or the page size, whichever is larger.
* tst-cond18.c (do_test): Likewise.
2012-03-27 14:25:55 -07:00
H.J. Lu
24d8f4b7dc
Use __asm__("rsp") to get CURRENT_STACK_FRAME
2012-03-19 16:21:21 -07:00
H.J. Lu
4adaaafc9e
Use __NR_futex to define SYS_futex
2012-03-19 14:54:35 -07:00
H.J. Lu
ca7b8af5db
Cast _Unwind_GetCFA return to _Unwind_Ptr first
2012-03-19 13:34:44 -07:00
David S. Miller
7e7fa5f871
Fix libc-lowlevellock.c sysdep finding more generically.
...
nptl/
[BZ #13844 ]
* sysdeps/unix/sysv/linux/libc-lowlevellock.c: Include using <..>
instead of "...".
* sysdeps/unix/sysv/linux/sparc/sparc32/libc-lowlevellock.c:
Delete, not needed.
2012-03-16 20:40:54 -07:00
David S. Miller
c4a7b16eb8
Add missing sparc32 NPTL file otherwise we use the wrong lowlevellock.c implementation.
...
nptl/
[BZ #13844 ]
* sysdeps/unix/sysv/linux/sparc/sparc32/libc-lowlevellock.c: New file.
2012-03-15 21:13:02 -07:00
Paul Eggert
c524201ab0
Replace FSF snail mail address with URL in miscellaneous files.
2012-03-10 00:45:35 +00:00
Joseph Myers
90ad551f73
Make pthread.h define all symbols from time.h.
...
See:
http://www.pasc.org/interps/unofficial/db/p1003.1c/pasc-1003.1c-46.html
http://www.pasc.org/interps/unofficial/db/p1003.1/pasc-1003.1-86.html
https://www.opengroup.org/sophocles/show_mail.tpl?CALLER=index.tpl&source=L&listname=austin-group-l&id=17302
(Geoff Clare, austin-group-l, 9 Mar 2012)
2012-03-09 21:10:45 +00:00
David S. Miller
c64bf5feb3
Update copyright year after my most recent changes.
...
nptl/
* sysdeps/unix/sysv/linux/sparc/sem_post.c: Update copyright year.
/
* sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c: Update
copyright year.
* sysdeps/unix/sysv/linux/sparc/sysdep.h: Likewise.
2012-03-08 15:09:27 -08:00
Thomas Schwinge
2edd9a79e5
Work around kernel rejecting valid absolute timestamps.
2012-03-08 11:22:41 +01:00
Thomas Schwinge
c564a81246
Invalid timeouts in SH sem_timedwait.
...
We adjusted nwaiters even though this isn't necessary.
2012-03-08 10:45:05 +01:00
Thomas Schwinge
48aff7765b
Fix 9554ebf2d4
.
...
| Invalid timeouts in i386 sem_timedwait.
|
| We adjusted nwaiters even though this isn't necessary.
2012-03-08 09:33:12 +01:00
Joseph Myers
e7dbb1bec3
Weaken two NPTL configure link tests to compile tests.
2012-03-07 19:34:22 +00:00
Ulrich Drepper
a4300c7a4d
Remove distribute variable from Makefiles
2012-03-07 05:17:13 -05:00
Thomas Schwinge
840df61ea4
Get rid of superfluous assignments in sem_timedwait
2012-03-07 04:11:11 -05:00
Ulrich Drepper
959e12e37b
Fix CL
2012-03-07 00:28:22 -05:00
Ulrich Drepper
abdf2e1915
Better CL
2012-03-06 23:39:31 -05:00
Ulrich Drepper
9463518d0d
Remove private information from libc-lock.h
2012-03-06 23:37:35 -05:00
David S. Miller
e92584001a
Fix several build warnings on sparc.
...
/
* sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c
(set_obp_int): New function.
(get_obp_int): New function.
(__get_clockfreq_via_dev_openprom): Likewise.
* sysdeps/unix/sysv/linux/sparc/sysdep.h (INTERNAL_SYSCALL_ERROR_P): Avoid
unused variable warnings on 'val' and use builtin_expect.
(INLINE_SYSCALL): Don't wrap INTERNAL_SYSCALL_ERROR_P with builtin_expect.
(INLINE_CLONE_SYSCALL): Likewise.
nptl/
* sysdeps/unix/sysv/linux/sparc/sem_post.c (__new_sem_post): Use
atomic_increment and remove unused local variable.
(__old_sem_post): Likewise.
2012-03-06 11:15:26 -08:00
David S. Miller
22f9d9df92
Fix stray references to __pthread_attr
...
* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Don't refer to non-existing
__pthread_attr.
* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.
2012-02-27 12:59:16 -08:00
Ulrich Drepper
d94a467080
Add first fixes for conformtest for POSIX2008
2012-02-26 21:32:56 -05:00
Ulrich Drepper
4efeffc1d5
Fix up POSIX testing in conformtest
2012-02-26 13:17:27 -05:00
Joseph Myers
0e7dfaef51
Remove old initfini mechanism.
2012-02-21 00:46:01 +00:00
Richard Henderson
e3b69ca7d1
s390: Convert to crt[in].S.
2012-02-16 09:24:19 -08:00
Kaz Kojima
df83af673b
Add SH target specific crti.S and crtn.S and remove initfini files.
...
Add sysdeps/sh/crti.S, sysdeps/sh/crtn.S and remove sysdeps/sh/elf/initfini.c
and nptl/sysdeps/unix/sysv/linux/sh/pt-initfini.c.
2012-02-16 07:17:24 +09:00
David S. Miller
f63f338062
Move sparc away from the deprecated inifini.c scheme.
...
/
* sysdeps/sparc/Makefile: Add -fPIC when building crt{i,n}.S
* sysdeps/sparc/crti.S: New file.
* sysdeps/sparc/crtn.S: New file.
* sysdeps/sparc/sparc32/Makefile: Remove initfini handling.
* sysdeps/sparc/sparc64/Makefile: Likewise.
nptl/
* sysdeps/sparc/Makefile: Add -fPIC when building pt-crti.S and crtn.S
2012-02-16 12:54:05 -08:00
Marek Polacek
d463ab10dd
Remove unused Makefile.
2012-02-15 21:07:06 +01:00
Paul Eggert
59ba27a63a
Replace FSF snail mail address with URLs.
2012-02-09 23:18:22 +00:00
Andreas Schwab
2832840339
Add missing dependency for pt-crti.o
2012-02-08 16:16:42 +01:00
Joseph Myers
3add8e1353
Support crti.S and crtn.S provided directly by architectures.
2012-02-08 01:45:26 +00:00
Joseph Myers
9a1d92541f
Consistently use macros for x86 PIC thunks.
2012-02-03 23:22:53 +00:00
Ulrich Drepper
5452bffeef
Fix warnings due to return in void functions
2012-01-11 11:56:30 -05:00
Ulrich Drepper
8898f02074
Add const attribute to pthread_equal
2012-01-10 19:37:35 -05:00
Ulrich Drepper
356fa562ec
Consistently added return to pthread_exit
2012-01-10 19:02:21 -05:00
Adhemerval Zanella
f5420cf073
CL
2012-01-08 19:57:22 -05:00
Marek Polacek
c473bd1cd9
Quash implicit declaration warning
2012-01-08 13:21:50 -05:00
Ulrich Drepper
a784e50247
Remove pre-ISO C support
...
No more __const.
2012-01-07 23:57:22 -05:00
Ulrich Drepper
0269750ca6
Remove non-ELF support
2012-01-07 20:30:26 -05:00
Ulrich Drepper
ecb6fb48b7
Clean up shlib-versions files
...
Ports have their own files
2012-01-07 13:02:29 -05:00
Ulrich Drepper
120ced3f5d
Remove IA-64 support from NPTL
2012-01-07 12:16:05 -05:00
Ulrich Drepper
ee9e064083
Use __pthread_get_minstack in more places
2011-12-22 22:58:17 -05:00
Ulrich Drepper
2c1094bd70
Create internal threads with sufficient stack size
2011-12-22 22:43:39 -05:00
Ulrich Drepper
60e8585f2a
Fix reading thread name from comm file
2011-12-21 19:26:29 -05:00
Carlos O'Donell
caafb2b06b
Return errno on failure in allocate_stack
...
In cases where a function call fails return
errno and allow the caller to fixup the return
code as required by their API.
2011-12-14 21:32:11 -05:00
Jeff Law
e988dba98d
BZ #5245 : pthread_create returns EAGAIN for stack allocation failure, not ENOMEM.
2011-12-14 13:14:56 -08:00
Ulrich Drepper
ade60c8942
Fix CL
2011-12-02 07:34:19 -05:00
Ulrich Drepper
312be3f9f5
Clean up internal fopen uses
...
No need to ever not use c and e.
2011-11-15 04:24:42 -05:00