| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Register eax contains the syscall number, use a different one instead.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
We need this support in NPTL now to avoid the hand-coded tables.
|
| |
|
| |
|
|
|
|
|
| |
Add support for the new FUTEX_WAIT_REQUEUE_PI and FUTEX_CMP_REQUEUE_PI
options of futex.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
timeout.
|
|
|
|
| |
timeout.
|
| |
|
|
|
|
| |
timeout.
|
| |
|
| |
|
|
|
|
|
| |
Instead of actively registering an unwind buffer we now use the
exception handling functionality of the gcc runtime.
|
|
|
|
|
| |
Instead of actively registering an unwind buffer we now use the
exception handling functionality of the gcc runtime.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This affects only installations compiled for kernels older than 2.6.18.
|
|
|
|
|
| |
Unify all three places where we enable async cancellation for
syscalls. Optimize a bit.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Avoid warning by using may_alias attribute on ptrhack.
|
|
|
|
|
|
|
| |
2009-03-15 Ulrich Drepper <drepper@redhat.com>
[BZ #5807]
* string/strlen.c (strlen): Fix omission in the expression to test
for NUL bytes.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* locale/xlocale.h: Define locale_t type.
* locale/locale.h: duplocale, freelocale, newlocale, uselocale are
in POSIX 2008. Don't define locale_t here.
* stdlib/monetary.h: strfmon_l is in POSIX 2008.
* signal/signal.h: Declare psignal and psiginfo for POSIX 2008.
* stdio-common/psiginfo.c: New file.
* stdio-common/psiginfo-data.h: New file.
* stdio-common/psiginfo-define.h: New file.
* stdio-common/Makefile (routines): Add psiginfo.
* stdio-common/Versions: Export psiginfo for GLIBC_2.10.
|
|
|
|
|
|
| |
* dirent/dirent.h: alphasort, dirfd, scandir, and fdopendir are in
POSIX 2008.
/proc/sys/kernel/rtsig_max doesn't exist anymore, use getrlimit
|
| |
|