diff --git a/libc/arch-x86/atom/string/ssse3-strcpy-atom.S b/libc/arch-x86/atom/string/ssse3-strcpy-atom.S index 30254caae..3690b0dd2 100644 --- a/libc/arch-x86/atom/string/ssse3-strcpy-atom.S +++ b/libc/arch-x86/atom/string/ssse3-strcpy-atom.S @@ -3147,7 +3147,7 @@ L(ExitTail16): #endif #ifdef USE_AS_STRNCPY -# ifndef USE_AS_STRCAT +# if !defined(USE_AS_STRCAT) && !defined(USE_AS_STRLCPY) CFI_PUSH (%esi) CFI_PUSH (%edi) # endif diff --git a/libc/arch-x86/silvermont/string/sse2-memmove-slm.S b/libc/arch-x86/silvermont/string/sse2-memmove-slm.S index b971f0b39..6a8f0673c 100644 --- a/libc/arch-x86/silvermont/string/sse2-memmove-slm.S +++ b/libc/arch-x86/silvermont/string/sse2-memmove-slm.S @@ -327,6 +327,9 @@ L(mm_len_9_16_bytes_forward): movq %xmm1, -8(%edx, %ecx) jmp L(mm_return) + CFI_POP (%edi) + CFI_POP (%esi) + L(mm_recalc_len): /* Compute in %ecx how many bytes are left to copy after the main loop stops. */