diff options
author | Ulrich Drepper <drepper@redhat.com> | 2009-08-25 10:42:30 -0700 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2009-08-25 10:42:30 -0700 |
commit | 84088310ce06bfc5759b37f0cd043dce80f578b6 (patch) | |
tree | d3bb1a5e1b7d77c1bad3ebef67d19510d51b4569 /nptl/ChangeLog | |
parent | cf00cc00bc53ab26b23b810b4bfbdfb43262538a (diff) | |
download | glibc-84088310ce06bfc5759b37f0cd043dce80f578b6.zip glibc-84088310ce06bfc5759b37f0cd043dce80f578b6.tar.gz glibc-84088310ce06bfc5759b37f0cd043dce80f578b6.tar.bz2 |
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.
Diffstat (limited to 'nptl/ChangeLog')
-rw-r--r-- | nptl/ChangeLog | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 3887969..a9a0168 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,10 @@ +2009-08-25 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/x86_64/tls.h (RTLD_ENABLE_FOREIGN_CALL): Store old value + of the field in local variables. + (RTLD_FINALIZE_FOREIGN_CALL): Restore rtld_must_xmm_save from local + variable and don't unconditionally clear it. + 2009-08-24 Ulrich Drepper <drepper@redhat.com> * pthread_create.c (start_thread): Hint to the kernel that memory for |