aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/i386
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2011-06-25 01:32:27 -0400
committerUlrich Drepper <drepper@gmail.com>2011-06-25 01:32:27 -0400
commitacb0d739c5801d3a27122d6aafdd282327c3996f (patch)
treeb72b14e0ecea4127bf9d2d4db380770d185d3920 /sysdeps/i386
parent8912479f9ea9f56dc188d3d00c4ba4259f600661 (diff)
downloadglibc-acb0d739c5801d3a27122d6aafdd282327c3996f.zip
glibc-acb0d739c5801d3a27122d6aafdd282327c3996f.tar.gz
glibc-acb0d739c5801d3a27122d6aafdd282327c3996f.tar.bz2
Fix unwind info in 32bit SSE2/SSSE3 strncpy
Diffstat (limited to 'sysdeps/i386')
-rw-r--r--sysdeps/i386/i686/multiarch/strcpy-sse2.S2
-rw-r--r--sysdeps/i386/i686/multiarch/strcpy-ssse3.S4
2 files changed, 5 insertions, 1 deletions
diff --git a/sysdeps/i386/i686/multiarch/strcpy-sse2.S b/sysdeps/i386/i686/multiarch/strcpy-sse2.S
index fad1ae2..fcef748 100644
--- a/sysdeps/i386/i686/multiarch/strcpy-sse2.S
+++ b/sysdeps/i386/i686/multiarch/strcpy-sse2.S
@@ -47,7 +47,7 @@
# define PARMS 16
# define ENTRANCE PUSH(%ebx); PUSH(%esi); PUSH(%edi)
# define RETURN POP(%edi); POP(%esi); POP(%ebx); ret; \
- CFI_PUSH(%ebx); CFI_PUSH(%edi); CFI_PUSH(%edi);
+ CFI_PUSH(%ebx); CFI_PUSH(%esi); CFI_PUSH(%edi);
# ifdef SHARED
# define JMPTBL(I, B) I - B
diff --git a/sysdeps/i386/i686/multiarch/strcpy-ssse3.S b/sysdeps/i386/i686/multiarch/strcpy-ssse3.S
index 577d117..75a1952 100644
--- a/sysdeps/i386/i686/multiarch/strcpy-ssse3.S
+++ b/sysdeps/i386/i686/multiarch/strcpy-ssse3.S
@@ -3220,6 +3220,8 @@ L(ExitTail16):
# endif
RETURN
# ifdef USE_AS_STRNCPY
+ CFI_PUSH (%esi)
+ CFI_PUSH (%edi)
L(StrncpyLeaveCase2OrCase3):
test %eax, %eax
jnz L(Aligned64LeaveCase2)
@@ -3978,6 +3980,8 @@ L(StrncpyExit15):
lea 1(%esi), %esi
jmp L(CopyFrom1To16BytesCase3)
+ CFI_POP (%esi)
+ CFI_POP (%edi)
.p2align 4
L(ExitTail0):
movl %edx, %eax