This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
PATCH: Fix unwind info in 32bit SSE2/SSSE3 strncpy
- From: "H.J. Lu" <hongjiu dot lu at intel dot com>
- To: GNU C Library <libc-alpha at sourceware dot org>
- Date: Fri, 24 Jun 2011 13:13:23 -0700
- Subject: PATCH: Fix unwind info in 32bit SSE2/SSSE3 strncpy
- Reply-to: "H.J. Lu" <hjl dot tools at gmail dot com>
Hi,
This patch fixes unwind info in 32bit SSE2/SSSE3 strncpy.
H.J.
---
2011-06-24 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/i386/i686/multiarch/strcpy-sse2.S (RETURN): Fix a typo.
* sysdeps/i386/i686/multiarch/strcpy-ssse3.S: Correct unwind
info.
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