From: Ivan Tadeu Ferreira Antunes Filho Date: Fri, 20 Sep 2024 10:01:23 +0000 (-0400) Subject: Move cfi_startproc after CNAME(label) (#857) X-Git-Tag: upstream/3.4.7~10 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8308bed5b2423878aa20d7884a99cf2e30b8daf7;p=platform%2Fupstream%2Flibffi.git Move cfi_startproc after CNAME(label) (#857) This is a fix for https://github.com/libffi/libffi/issues/852: error: invalid CFI advance_loc expression on apple targets. The CFI for darwin arm64 was broken because the CNAME macro was being used after the cfi_startproc macro. --- diff --git a/src/aarch64/sysv.S b/src/aarch64/sysv.S index 6a9a561..e83bc65 100644 --- a/src/aarch64/sysv.S +++ b/src/aarch64/sysv.S @@ -89,8 +89,8 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ x5 closure */ - cfi_startproc CNAME(ffi_call_SYSV): + cfi_startproc BTI_C PAC_CFI_WINDOW_SAVE /* Sign the lr with x1 since that is the CFA which is the modifer used in auth instructions */ @@ -348,8 +348,8 @@ CNAME(ffi_closure_SYSV_V): #endif .align 4 - cfi_startproc CNAME(ffi_closure_SYSV): + cfi_startproc BTI_C SIGN_LR PAC_CFI_WINDOW_SAVE @@ -647,8 +647,8 @@ CNAME(ffi_go_closure_SYSV_V): #endif .align 4 - cfi_startproc CNAME(ffi_go_closure_SYSV): + cfi_startproc BTI_C SIGN_LR_LINUX_ONLY PAC_CFI_WINDOW_SAVE