From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22234 invoked by alias); 23 Dec 2013 18:30:58 -0000 Mailing-List: contact libffi-discuss-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libffi-discuss-owner@sourceware.org Received: (qmail 22224 invoked by uid 89); 23 Dec 2013 18:30:57 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: service87.mimecast.com Received: from service87.mimecast.com (HELO service87.mimecast.com) (91.220.42.44) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 23 Dec 2013 18:30:56 +0000 Received: from cam-owa1.Emea.Arm.com (fw-tnat.cambridge.arm.com [217.140.96.21]) by service87.mimecast.com; Mon, 23 Dec 2013 18:30:54 +0000 Received: from [10.1.201.52] ([10.1.255.212]) by cam-owa1.Emea.Arm.com with Microsoft SMTPSVC(6.0.3790.3959); Mon, 23 Dec 2013 18:30:51 +0000 Message-ID: <52B8815B.5030700@arm.com> Date: Mon, 23 Dec 2013 18:30:00 -0000 From: Yufeng Zhang User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:8.0) Gecko/20111105 Thunderbird/8.0 MIME-Version: 1.0 To: libffi-discuss@sourceware.org Subject: [PATCH, AArch64] Fix Call Frame Information in ffi_closure_SYSV X-MC-Unique: 113122318305400101 Content-Type: multipart/mixed; boundary="------------030104040101070001020708" X-IsSubscribed: yes X-SW-Source: 2013/txt/msg00240.txt.bz2 This is a multi-part message in MIME format. --------------030104040101070001020708 Content-Type: text/plain; charset=WINDOWS-1252; format=flowed Content-Transfer-Encoding: quoted-printable Content-length: 320 Hi, This patch fixes a bug in ./src/aarch64/sysv.S:ffi_closure_SYSV where=20 stack unwinding information was not generated correctly. OK for the mainline? Thanks, Yufeng 2013-12-23 Yufeng Zhang * src/aarch64/sysv.S (ffi_closure_SYSV): Use x29 as the main CFA reg; update cfi_rel_offset.= --------------030104040101070001020708 Content-Type: text/plain; name=patch Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="patch" Content-length: 867 diff --git a/src/aarch64/sysv.S b/src/aarch64/sysv.S index 1022454..ecf6371 100644 --- a/src/aarch64/sysv.S +++ b/src/aarch64/sysv.S @@ -231,13 +231,13 @@ ffi_closure_SYSV: cfi_rel_offset (x30, 8) =20 mov x29, sp + cfi_def_cfa_register (x29) =20 sub sp, sp, #ffi_closure_SYSV_FS - cfi_adjust_cfa_offset (ffi_closure_SYSV_FS) =20 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) =20 /* Load x21 with &call_context. */ mov x21, sp @@ -295,7 +295,7 @@ ffi_closure_SYSV: cfi_restore (x22) =20 mov sp, x29 - cfi_adjust_cfa_offset (-ffi_closure_SYSV_FS) + cfi_def_cfa_register (sp) =20 ldp x29, x30, [sp], #16 cfi_adjust_cfa_offset (-16)= --------------030104040101070001020708--