aboutsummaryrefslogtreecommitdiff
path: root/nptl/ChangeLog
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2009-08-25 10:42:30 -0700
committerUlrich Drepper <drepper@redhat.com>2009-08-25 10:42:30 -0700
commit84088310ce06bfc5759b37f0cd043dce80f578b6 (patch)
treed3bb1a5e1b7d77c1bad3ebef67d19510d51b4569 /nptl/ChangeLog
parentcf00cc00bc53ab26b23b810b4bfbdfb43262538a (diff)
downloadglibc-84088310ce06bfc5759b37f0cd043dce80f578b6.tar
glibc-84088310ce06bfc5759b37f0cd043dce80f578b6.tar.gz
glibc-84088310ce06bfc5759b37f0cd043dce80f578b6.tar.bz2
glibc-84088310ce06bfc5759b37f0cd043dce80f578b6.zip
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/ChangeLog7
1 files changed, 7 insertions, 0 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 3887969cb8..a9a0168357 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