From acb0d739c5801d3a27122d6aafdd282327c3996f Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Sat, 25 Jun 2011 01:32:27 -0400 Subject: [PATCH] Fix unwind info in 32bit SSE2/SSSE3 strncpy --- ChangeLog | 7 +++++++ sysdeps/i386/i686/multiarch/strcpy-sse2.S | 2 +- sysdeps/i386/i686/multiarch/strcpy-ssse3.S | 4 ++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index b950dccfee..390928f063 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2011-06-24 H.J. Lu + + * sysdeps/i386/i686/multiarch/strcpy-sse2.S (RETURN): Fix a typo. + + * sysdeps/i386/i686/multiarch/strcpy-ssse3.S: Correct unwind + info. + 2011-06-22 H.J. Lu * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add diff --git a/sysdeps/i386/i686/multiarch/strcpy-sse2.S b/sysdeps/i386/i686/multiarch/strcpy-sse2.S index fad1ae2b67..fcef748f02 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 577d11789c..75a1952e62 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 -- 2.11.4.GIT