Merge "Fix CFI directives in memmove implementation" into main
diff --git a/libc/arch-x86_64/string/sse2-memmove-slm.S b/libc/arch-x86_64/string/sse2-memmove-slm.S
index 8b32680..b787385 100644
--- a/libc/arch-x86_64/string/sse2-memmove-slm.S
+++ b/libc/arch-x86_64/string/sse2-memmove-slm.S
@@ -79,18 +79,23 @@
#endif
#define CFI_PUSH(REG) \
- cfi_adjust_cfa_offset (4); \
+ cfi_adjust_cfa_offset (8); \
cfi_rel_offset (REG, 0)
#define CFI_POP(REG) \
- cfi_adjust_cfa_offset (-4); \
+ cfi_adjust_cfa_offset (-8); \
cfi_restore (REG)
#define PUSH(REG) push REG;
#define POP(REG) pop REG;
-#define ENTRANCE PUSH (%rbx);
-#define RETURN_END POP (%rbx); ret
+#define ENTRANCE \
+ PUSH (%rbx); \
+ CFI_PUSH (%rbx);
+#define RETURN_END \
+ POP (%rbx); \
+ CFI_POP (%rbx); \
+ ret
#define RETURN RETURN_END;
.section .text.sse2,"ax",@progbits