libffi/
authoryufeng <yufeng@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Mar 2014 16:18:29 +0000 (16:18 +0000)
committeryufeng <yufeng@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Mar 2014 16:18:29 +0000 (16:18 +0000)
* src/aarch64/sysv.S (ffi_closure_SYSV): Use x29 as the
main CFA reg; update cfi_rel_offset.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208515 138bc75d-0d04-0410-961f-82ee72b054a4

libffi/ChangeLog
libffi/src/aarch64/sysv.S

index 80e94ed..aebe855 100644 (file)
@@ -1,3 +1,8 @@
+2014-03-12  Yufeng Zhang  <yufeng.zhang@arm.com>
+
+       * src/aarch64/sysv.S (ffi_closure_SYSV): Use x29 as the
+       main CFA reg; update cfi_rel_offset.
+
 2014-02-17  Eric Botcazou  <ebotcazou@adacore.com>
 
        PR libffi/60073
index b8cd421..ffb16f8 100644 (file)
@@ -231,13 +231,13 @@ ffi_closure_SYSV:
         cfi_rel_offset (x30, 8)
 
         mov     x29, sp
+        cfi_def_cfa_register (x29)
 
         sub     sp, sp, #ffi_closure_SYSV_FS
-       cfi_adjust_cfa_offset (ffi_closure_SYSV_FS)
 
         stp     x21, x22, [x29, #-16]
-        cfi_rel_offset (x21, 0)
-        cfi_rel_offset (x22, 8)
+        cfi_rel_offset (x21, -16)
+        cfi_rel_offset (x22, -8)
 
         /* Load x21 with &call_context.  */
         mov     x21, sp
@@ -295,7 +295,7 @@ ffi_closure_SYSV:
         cfi_restore (x22)
 
         mov     sp, x29
-       cfi_adjust_cfa_offset (-ffi_closure_SYSV_FS)
+        cfi_def_cfa_register (sp)
 
         ldp     x29, x30, [sp], #16
        cfi_adjust_cfa_offset (-16)