about summary refs log tree commit diff
path: root/sysdeps
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 /sysdeps
parentcf00cc00bc53ab26b23b810b4bfbdfb43262538a (diff)
downloadglibc-84088310ce06bfc5759b37f0cd043dce80f578b6.tar.gz
glibc-84088310ce06bfc5759b37f0cd043dce80f578b6.tar.xz
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 'sysdeps')
-rw-r--r--sysdeps/x86_64/dl-trampoline.S1
1 files changed, 0 insertions, 1 deletions
diff --git a/sysdeps/x86_64/dl-trampoline.S b/sysdeps/x86_64/dl-trampoline.S
index f9c60ad5cf..5564a11af2 100644
--- a/sysdeps/x86_64/dl-trampoline.S
+++ b/sysdeps/x86_64/dl-trampoline.S
@@ -197,7 +197,6 @@ _dl_x86_64_save_sse:
 	ret
 L(no_avx5):
 # endif
-# define YMM_SIZE 16
 	movdqa	%xmm0, %fs:RTLD_SAVESPACE_SSE+0*XMM_SIZE
 	movdqa	%xmm1, %fs:RTLD_SAVESPACE_SSE+1*XMM_SIZE
 	movdqa	%xmm2, %fs:RTLD_SAVESPACE_SSE+2*XMM_SIZE