Ulrich Drepper
93f17abfb5
Fix last CL.
2010-08-16 07:03:58 -07:00
H.J. Lu
f8392f4004
Add -fno-asynchronous-unwind-tables to initfini.s for i386
2010-08-15 20:09:23 -07:00
Alan Modra
bebff237c5
PowerPC64 ABI fixes
2010-08-12 09:19:19 -07:00
Andreas Schwab
e8ee8bdf2a
Fix type mismatch
2010-07-06 08:08:46 -07:00
Ulrich Drepper
03e87550e3
Cleanup new tst-abstime program some more.
2010-07-03 14:05:02 -07:00
Ulrich Drepper
145569dc41
Improve new tst-abstime test.
2010-07-02 07:08:07 -07:00
Andreas Schwab
2983d85ee5
Work around kernel rejecting valid absolute timestamps
2010-07-01 19:07:14 -07:00
Ulrich Drepper
72b6e8c85b
Fix build with newer linker.
2010-07-01 19:03:29 -07:00
Takashi Yoshii
4bc93b3033
[sh] Fix incorrect location of ifndef for __ASSUME_FUTEX_CLOCK_REALTIME.
2010-06-14 16:56:22 -07:00
Ulrich Drepper
86a4c67fb9
Implement interfaces to set and get names of threads.
...
At least the Linux kernel provides field where the kernel originally
stores the command which is executed by the thread. The value can
subsequently be overwritten. The added functions allow to do that for
threads, providing and abstraction around the syscalls or /proc file
system accesses needed.
2010-04-09 01:09:24 -07:00
Roland McGrath
f571a994ce
Move unwind-resume code from NPTL to sysdeps/gnu.
2010-04-05 20:07:39 -07:00
Luis Machado
7749bf5fe6
Enable common version of pthread_cond_timedwait to use clock_gettime in VDSO
2010-03-24 14:46:03 -07:00
Ulrich Drepper
1d78f2996d
Fix a few more problem with the recent setxid changes.
2010-03-09 20:21:12 -08:00
Andreas Schwab
058e9ba9fd
Revert to original version of setxid race fix
2010-03-08 17:02:46 +01:00
Ulrich Drepper
66f1b8eeb2
Fix setxid race with thread creation
2010-03-05 11:23:28 -08:00
Michal Schmidt
893549c5a0
Fix pthread_cond_*wait with requeue-PI on i386.
2010-01-15 18:09:14 -08:00
Ulrich Drepper
78ee218599
Actually define and export pthread_mutexattr_[sg]etrobust.
2010-01-14 16:46:32 -08:00
Ulrich Drepper
402cd98775
Actually define pthread_mutex_consistent.
2010-01-14 15:52:46 -08:00
Ulrich Drepper
d3c7e68655
Fix up pthread.h for XPG7.
2010-01-12 12:13:04 -08:00
Ulrich Drepper
f095bb7204
Add support for XPG7 testing.
...
The header conformance testing code needed extending for XPG7. This
exposed a few bugs in the headers. There are more changes to come.
2010-01-09 10:56:41 -08:00
Thomas Schwinge
d34bd80fce
Fix s390 startup code in libpthread.
2009-12-22 08:37:33 -08:00
Ulrich Drepper
f01c2359eb
Small optimization of pthread_rwlock_init.
2009-12-17 13:49:36 -08:00
Dinakar Guniguntala
75956694f3
Add Requeue-PI support for x86 arch.
2009-12-13 11:50:16 -08:00
Ulrich Drepper
9554ebf2d4
Invalid timeouts in i386 sem_timedwait.
...
We adjusted nwaiters even though this isn't necessary.
2009-12-12 11:06:23 -08:00
Thomas Schwinge
ebb92a491f
SH calling __gmon_start__ from pt-initfini.c.
2009-11-30 06:24:22 -08:00
Andreas Schwab
b55ec98c64
Fix infloop in __pthread_disable_asynccancel on x86_64
2009-11-27 21:37:30 -08:00
Ulrich Drepper
80b3a4ea1c
New NPTL POSIX semaphore test.
2009-11-24 16:37:29 -08:00
Roland McGrath
57a299fe47
Use #include instead of duplication for i386 vs i686 dl-sysdep.h in NPTL.
2009-11-22 17:49:21 -08:00
Ulrich Drepper
dfedb126d6
Minor optimizations and cleanups of x86 cond_broadcast.
2009-11-18 06:40:25 -08:00
Dinakar Guniguntala
dd7106b3c6
Update cfi offsets for pthread_cond_broadcast and signal fir x86.
2009-11-18 06:33:23 -08:00
Ulrich Drepper
62616842ec
Minimal unwind section size reduction.
2009-11-17 23:13:08 -08:00
Ulrich Drepper
f8c10bb45b
Use cfi directives in x86 pthread_cond_{,timed}wait.
2009-11-17 17:59:33 -08:00
Andreas Schwab
13f6812ffb
Make name of libgcc_s library configurable
2009-11-03 23:52:01 +01:00
Ulrich Drepper
9c04f7c155
Fix aliasing problem in tst-sem11.
2009-10-30 09:35:20 -07:00
Daniel Jacobowitz
25db0f6ca9
Fix races in setXid implementation.
2009-10-30 01:00:44 -07:00
Andreas Schwab
3d60eb1734
Fix malformed #pragma.
2009-09-07 08:31:52 -07:00
Ulrich Drepper
01034d7590
Fix whitespaces.
2009-09-02 19:59:43 -07:00
Suzuki Poulose
38eb613663
Fix timer_create to initialize timer_t properly.
2009-09-02 19:58:50 -07:00
Andrew Stubbs
7812c65b90
SH lowlevellock broken for FUTEX_CLOCK_REALTIME.
2009-08-28 14:57:16 -07:00
Ulrich Drepper
84088310ce
Handle AVX saving on x86-64 in interrupted smbol lookups.
...
If a signal arrived during a symbol lookup and the signal handler also
required a symbol lookup, the end of the lookup in the signal handler reset
the flag whether restoring AVX/SSE registers is needed. Resetting means
in this case that the tail part of the outer lookup code will try to
restore the registers and this can fail miserably. We now restore to the
previous value which makes nesting calls possible.
2009-08-25 10:42:30 -07:00
Ulrich Drepper
b42a214c18
Hint to kernel that thread stack memory can be removed.
2009-08-24 16:23:47 -07:00
Ulrich Drepper
2d094b7395
More namespace cleanups.
2009-08-23 13:59:41 -07:00
Ulrich Drepper
ae0d545003
Add CFI directives to x86-64 pthread_rwlock_unlock.
2009-08-11 20:47:36 -07:00
Ulrich Drepper
1bc2b97ee4
Add CFI directives to x86-64 pthread_rwlock_{rd,wr)lock.
2009-08-10 11:26:16 -07:00
Andreas Schwab
ec4922395b
Fix check for PI mutex in x86-64 pthread_cond_signal
...
Register eax contains the syscall number, use a different one instead.
2009-08-10 08:10:11 -07:00
Ulrich Drepper
efa0569d2b
Optimize x86-64 version of sem_timedwait.
2009-08-08 17:48:09 -07:00
Ulrich Drepper
49eea97b00
Another minor optimization of x86-64 pthread_cond_wait.
2009-08-08 10:21:46 -07:00
Ulrich Drepper
9083bcc5dc
Small optimizations to cancellable x86-64 code.
2009-08-07 20:36:53 -07:00
Ulrich Drepper
421665c40a
Optimize x86-64 syscall cancellation handling.
...
The syscall wrappers had to save and restore the syscall parameter
values and return value when calling the functions to enable/disable
cancellation were called. Not anymore. The called functions are
special and don't modify any unexpected registers.
2009-08-04 11:03:46 -07:00
Ulrich Drepper
bd03a1afa2
Macro cleanup.
...
Better definition of the *_NITSET macros.
2009-07-31 22:30:30 -07:00
Ulrich Drepper
586fa886ad
Fix x86-64 TCB alignment for future processor versions.
2009-07-29 09:01:04 -07:00
Ulrich Drepper
b48a267b8f
Preserve SSE registers in runtime relocations on x86-64.
...
SSE registers are used for passing parameters and must be preserved
in runtime relocations. This is inside ld.so enforced through the
tests in tst-xmmymm.sh. But the malloc routines used after startup
come from libc.so and can be arbitrarily complex. It's overkill
to save the SSE registers all the time because of that. These calls
are rare. Instead we save them on demand. The new infrastructure
put in place in this patch makes this possible and efficient.
2009-07-29 08:33:03 -07:00
Ulrich Drepper
b0948ffdcb
Fix bookkeeping in mutex when using requeue_pi.
2009-07-28 09:40:39 -07:00
Ulrich Drepper
e73e694e38
pthread_mutex_unlock needs to use _rel semantics for atomic ops.
2009-07-27 13:46:56 -07:00
Ulrich Drepper
052757bfa6
Revert "Memory ordering in pthread_mutex_{,timed}lock."
...
This reverts commit 7b7f43bed1
.
2009-07-27 13:43:01 -07:00
Ulrich Drepper
7b7f43bed1
Memory ordering in pthread_mutex_{,timed}lock.
...
All commits should have happened before the mutex lock is taken.
Therefore use the _rel variant of the cmpxchg atomic op.
2009-07-26 13:00:04 -07:00
Ulrich Drepper
01b597da40
Check for .cfi_{personality,lsda} on x86-64.
...
We need this support in NPTL now to avoid the hand-coded tables.
2009-07-23 17:15:56 -07:00
Ulrich Drepper
f1adf1f490
Fix pthread_cond_timedwait error handling on old kernels.
2009-07-23 16:39:06 -07:00
Ulrich Drepper
c3db953c16
Minor optimizations of last x86-64 condvar changes.
2009-07-20 08:39:47 -07:00
Ulrich Drepper
42e69bcf11
Support requeueing for condvars using PI mutex. x86-64 only.
...
Add support for the new FUTEX_WAIT_REQUEUE_PI and FUTEX_CMP_REQUEUE_PI
options of futex.
2009-07-19 20:56:40 -07:00
Ulrich Drepper
515a8908ce
Make x86-64 pthread_cond_timedwait more robust.
...
It just happens that __pthread_enable_asynccancel doesn't modify the $rdi
register. But this isn't guaranteed. Hence we reload the register after
the calls.
2009-07-19 14:54:56 -07:00
Ulrich Drepper
e2dca2fea3
Extend x86-64 __lll_robust_timedlock_wait to use futex syscall with absolute timeout.
2009-07-19 00:00:17 -07:00
Ulrich Drepper
3d77b2687f
Add more sem_timedwait tests.
2009-07-18 22:07:25 -07:00
Ulrich Drepper
32c6c342b6
Extend x86-64 pthread_rwlock_timedrdlock to use futex syscall with absolute timeout.
2009-07-18 21:53:26 -07:00
Ulrich Drepper
d979611eb9
Extend x86-64 pthread_rwlock_timedwrlock to use futex syscall with absolute timeout.
2009-07-18 21:35:33 -07:00
Ulrich Drepper
f8b6cd2182
Extend pthread_cond_timedwait tests.
2009-07-18 12:45:27 -07:00
Ulrich Drepper
e88726b483
Extend x86-64 pthread_cond_timedwait to use futex syscall with absolute timeout.
2009-07-18 12:44:12 -07:00
Ulrich Drepper
92618c954f
Optimize x86-64 pthread_cond_timedwait.
...
Instead of actively registering an unwind buffer we now use the
exception handling functionality of the gcc runtime.
2009-07-18 08:53:18 -07:00
Ulrich Drepper
30b1954abb
Optimize x86-64 pthread_cond_wait.
...
Instead of actively registering an unwind buffer we now use the
exception handling functionality of the gcc runtime.
2009-07-18 08:09:39 -07:00
Ulrich Drepper
f351f2b756
Extend x86-64 sem_timedwait to use futex syscall with absolute timeout.
2009-07-17 19:08:54 -07:00
Ulrich Drepper
aee2665a17
Replace hand-coded unwind tables from x86-64 sem_timedwait.
2009-07-17 16:26:06 -07:00
Ulrich Drepper
0adae46817
Optimize x86-64 sem_wait for uncontested semaphore.
2009-07-17 15:50:23 -07:00
Ulrich Drepper
c3c2f3cf56
Replace hand-coded unwind tables from x86-64 sem_wait.
2009-07-17 15:31:36 -07:00
Ulrich Drepper
63601ccd16
Replace hand-coded unwind tables from x86-64 pthread_once.
2009-07-17 14:45:08 -07:00
Ulrich Drepper
d52c96e73a
Replace hand-coded unwind tables from x86-64 pthread_cond_wait.
2009-07-17 12:14:09 -07:00
Ulrich Drepper
bfdb73e145
Implement pthread_sigqueue.
...
The kernel from 2.3.31 on supports the rt_tgsigqueueinfo syscall.
Use it to implement the non-standard extension which, like
sigqueue, can pass additional data to the receiving thread.
2009-06-12 08:34:02 -07:00
Bryan Kadzban
1828530f09
Fix futex syscall parameter for x86 absolute timeout waits.
...
This affects only installations compiled for kernels older than 2.6.18.
2009-06-11 11:32:51 -07:00
Ulrich Drepper
e20c4ef0ef
libc-cancellation.c cleanup.
...
The unrelated function __libc_cleanup_routine should not be in
this file. Move it into its own file.
2009-05-16 15:04:27 -07:00
Ulrich Drepper
cba0ca7925
Unify source for async cancel handling.
...
Unify all three places where we enable async cancellation for
syscalls. Optimize a bit.
2009-05-16 14:55:59 -07:00
Ulrich Drepper
a5b8b56df7
Rename nptl/init.c to nptl/nptl-init.c.
...
Needed to allow overwriting architectures init.c in csu and nptl
individually. Fixes BZ #9924 .
2009-05-16 08:57:49 -07:00
Ulrich Drepper
6dd78596d5
ChangeLog entries incorrectly applied.
2009-05-15 21:03:49 -07:00
Jakub Jelinek
1f3615a1c9
Add missing export of fallocate64 on 32-bit platforms.
...
Due to a pasto the fallocate64 interface, introduced in glibc 2.10,
isn't exported for 32-bit Linux platforms. It is too late for this
now so exported them for glibc 2.11.
2009-05-15 21:00:09 -07:00
Jakub Jelinek
9e471dad8e
Don't try to cleanup libselinux and libaudit.
...
Because we are not shutting down the other threads first another
thread might work on a query before the process shuts down. In this
case the now uninitialized libselinux and libaudit might be used.
Just don't free the resources. It's not necessary anyway because
the process is about to terminate.
2009-05-15 20:48:08 -07:00
Ulrich Drepper
9437b427ce
Fix change to prevent cancel signal in unsafe places.
...
The bits tested to decide when to delay the return when switching
off async cancel mode were wrong. Fix that. Also close a race
condition in pthread_cancel where the bit indicating the cancellation
is unconditionally set even if the cancel type might have changed.
2009-05-15 20:42:36 -07:00
Ulrich Drepper
1a7f254b4b
No cancel signal in unsafe places.
...
When disabling async cancellation we cannot return from the function
call if the thread is canceled. This happens when the cancel bits
have been set before async cancel is disabled but the signal hasn't
been sent/received yet. Delay for as long as necessary since
otherwise the signal might be received in an unsafe context.
2009-05-15 19:37:12 -07:00
Jakub Jelinek
40de0fe350
Add missing CHangeLog entry.
...
2009-01-07 Ulrich Drepper <drepper@redhat.com>
* (in_flight_stack): New variable.
(stack_list_del): New function. Use instead of list_del.
(stack_list_add): New function. Use instead of list_add when adding to
stack_cache and stack_used lists.
(__reclaim_stacks): Complete operations on stack_cache and stack_used lists
when the fork call interrupted another thread.
2009-04-29 18:04:10 +00:00
Ulrich Drepper
d5c157a978
* cancellation.c (__pthread_disable_asynccancel): Use THREAD_ATOMIC_AND
...
is available.
* libc-cancellation.c (__libc_disable_asynccancel): Likewise.
* sysdeps/x86_64/tls.h: Define THREAD_ATOMIC_AND.
* sysdeps/i386/tls.h: Likewise.
(tcbhead_t): Add __private_tm member.
2009-04-27 21:55:49 +00:00
Ulrich Drepper
5efe86507d
* sem_open.c (sem_open): Rewrite initialization of initsem to
...
avoid warnings.
2009-04-26 18:37:05 +00:00
Ulrich Drepper
f521be31b9
* sysdeps/unix/sysv/linux/libc_pthread_init.c (__libc_pthread_init):
...
Avoid warning by using may_alias attribute on ptrhack.
2009-04-26 18:06:47 +00:00
Ulrich Drepper
5497de87c9
[BZ #9963 ]
...
2009-04-22 Ulrich Drepper <drepper@redhat.com>
[BZ #9963 ]
* locales/en_PH: Fix LC_PAPER.
* locales/es_CL: Likewise.
* locales/es_CO: Likewise.
* locales/es_MX: Likewise.
* locales/es_US: Likewise.
* locales/es_VE: Likewise.
* locales/fil_PH: Likewise.
* locales/ik_CA: Likewise.
* locales/iu_CA: Likewise.
* locales/tl_PH: Likewise.
2009-04-23 04:30:42 +00:00
Ulrich Drepper
d301a6e167
* pthread_attr_setschedparam.c (__pthread_attr_setschedparam):
...
Check policy and priority for validity.
Patch mostly by Zhang Xiliang <zhangxiliang@cn.fujitsu.com>.
2009-04-23 02:29:18 +00:00
Ulrich Drepper
71a5bd3e17
[BZ #5807 ]
...
2009-03-15 Ulrich Drepper <drepper@redhat.com>
[BZ #5807 ]
* string/strlen.c (strlen): Fix omission in the expression to test
for NUL bytes.
2009-03-15 09:03:38 +00:00
Ulrich Drepper
30991b8bd9
* init.c (nptl_freeres): Compile only for SHARED.
2009-03-10 22:03:24 +00:00
Jakub Jelinek
9920a6b8db
* sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Define
...
FUTEX_WAIT_BITSET, FUTEX_WAKE_BITSET, FUTEX_CLOCK_REALTIME and
FUTEX_BITSET_MATCH_ANY.
2009-03-09 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Define
FUTEX_WAIT_BITSET, FUTEX_WAKE_BITSET, FUTEX_CLOCK_REALTIME and
FUTEX_BITSET_MATCH_ANY.
2009-03-09 14:19:53 +00:00
Roland McGrath
e965d5147e
* Makeconfig (%.v.i): Depend on Makeconfig.
...
Exclude % lines from initial #-comment removal.
2009-02-28 02:26:51 +00:00
Ulrich Drepper
6cbe890a9d
* wctype/wctype.h: The *_l functions are in POSIX 2008.
...
* wcsmbs/wchar.h: mbsnrtowcs, open_wmemstream, wcpcpy, wcpncpy,
wcscasecmp, wcsdup, wcsncasecmp, wcsnlen, wcsnrtombs,
wcscasecmp_l, wcsncasecmp_l, wcscoll_l, and wcsxfrm_l.
* sysdeps/mach/hurd/bits/posix_opt.h: Reset value of macros from
200112L to 200809L.
* sysdeps/unix/sysv/linux/bits/posix_opt.h: Likewise.
* posix/getconf.c (vars): Add _SC_THREAD_ROBUST_PRIO_INHERIT and
_SC_THREAD_ROBUST_PRIO_PROTECT entries.
* bits/confname.h: Add _SC_THREAD_ROBUST_PRIO_INHERIT and
_SC_THREAD_ROBUST_PRIO_PROTECT.
* posix/unistd.h: fexecve is in POSIX 2008.
* time/time.h: strftime_l is in POSIX 2008.
* io/sys/stat.h: futimens is in POSIX 2008.
* string/strings.h: strcasecmp_l and strncasecmp_l are in POSIX 2008.
* string/string.h: stpcpy, stpncpy, strndup, strnlen, strsignal,
strcoll_l, strerror_l, and strxfrm_l are in POSIX 2008.
* stdlib/stdlib.h: mkdtemp is in POSIX 2008.
2009-02-26 16:53:30 +00:00
Ulrich Drepper
77db439eaf
* ctype/ctype.h: The *_l functions are in POSIX 2008.
...
* dirent/dirent.h: alphasort, dirfd, scandir, and fdopendir are in
POSIX 2008.
/proc/sys/kernel/rtsig_max doesn't exist anymore, use getrlimit
2009-02-26 02:23:50 +00:00
Ulrich Drepper
5be0a68819
* sysdeps/unix/sysv/linux/sysconf.c (__sysconf):
...
/proc/sys/kenrel/rtsig_max doesn't exist anymore, use getrlimit
instead.
2009-02-24 23:34:08 +00:00
Ulrich Drepper
4c869eb67e
* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Define
...
LOAD_FUTEX_WAIT_ABS even if (FUTEX_WAIT == 0).
2009-02-13 23:36:40 +00:00
Ulrich Drepper
7f901dd7ca
* sysdeps/pthread/unwind-forcedunwind.c: Encrypt all function
...
pointer variables.
2009-01-29 20:52:36 +00:00