Add cfi directives for arm64 assembler.
Fix syscall generator to add cfi directives and add the directives
for all arm64 assembler.
Bug: 15138290
Change-Id: I7f0e4a16c141ac624e5276917a3a1ed45778e057
diff --git a/libc/arch-arm64/bionic/syscall.S b/libc/arch-arm64/bionic/syscall.S
index e5be1d5..42e8883 100644
--- a/libc/arch-arm64/bionic/syscall.S
+++ b/libc/arch-arm64/bionic/syscall.S
@@ -31,11 +31,11 @@
ENTRY(syscall)
/* create AAPCS frame pointer */
stp x29, x30, [sp, #-16]!
+ .cfi_def_cfa_offset 16
+ .cfi_rel_offset x29, 0
+ .cfi_rel_offset x30, 8
mov x29, sp
- /* store x8 */
- str x8, [sp, #-16]!
-
/* Move syscall No. from x0 to x8 */
mov x8, x0
/* Move syscall parameters from x1 thru x6 to x0 thru x5 */
@@ -47,9 +47,10 @@
mov x5, x6
svc #0
- /* restore x8 */
- ldr x8, [sp], #16
ldp x29, x30, [sp], #16
+ .cfi_def_cfa_offset 0
+ .cfi_restore x29
+ .cfi_restore x30
/* check if syscall returned successfully */
cmn x0, #(MAX_ERRNO + 1)