Message ID | 5310CAE5.6090700@arm.com |
---|---|
State | New |
Headers | show |
Ping~ Originally posted here: http://gcc.gnu.org/ml/gcc-patches/2014-02/msg01673.html Thanks, Yufeng On 02/28/14 17:44, Yufeng Zhang wrote: > Hi, > > The attached patch fixes a bug in ./src/aarch64/sysv.S:ffi_closure_SYSV > where stack unwinding information was not generated correctly. The > change has been reviewed, approved and merged into the stand-alone > libffi release tree**. > > OK for the trunk? > > Thanks, > Yufeng > > ** http://github.com/atgreen/libffi > > > 2014-02-28 Yufeng Zhang<yufeng.zhang@arm.com> > > * src/aarch64/sysv.S (ffi_closure_SYSV): Use x29 as the > main CFA reg; update cfi_rel_offset.
On 28/02/14 17:44, Yufeng Zhang wrote: > Hi, > > The attached patch fixes a bug in ./src/aarch64/sysv.S:ffi_closure_SYSV > where stack unwinding information was not generated correctly. The > change has been reviewed, approved and merged into the stand-alone > libffi release tree**. > > OK for the trunk? > > Thanks, > Yufeng > > ** http://github.com/atgreen/libffi > > > 2014-02-28 Yufeng Zhang <yufeng.zhang@arm.com> > > * src/aarch64/sysv.S (ffi_closure_SYSV): Use x29 as the > main CFA reg; update cfi_rel_offset. > This change is already committed in upstream libffi. Since it is a bug fix I think it should be merged to the gcc/libffi for 4.9. Please leave another 24 hours for the RM's to comment before committing it. Thanks /Marcus
On Wed, Mar 12, 2014 at 02:27:12PM +0000, Marcus Shawcroft wrote: > On 28/02/14 17:44, Yufeng Zhang wrote: > >** http://github.com/atgreen/libffi > > > > > >2014-02-28 Yufeng Zhang <yufeng.zhang@arm.com> > > > > * src/aarch64/sysv.S (ffi_closure_SYSV): Use x29 as the > > main CFA reg; update cfi_rel_offset. > > > > This change is already committed in upstream libffi. > > Since it is a bug fix I think it should be merged to the gcc/libffi > for 4.9. Please leave another 24 hours for the RM's to comment > before committing it. Ok. Jakub
diff --git a/libffi/src/aarch64/sysv.S b/libffi/src/aarch64/sysv.S index b8cd421..ffb16f8 100644 --- a/libffi/src/aarch64/sysv.S +++ b/libffi/src/aarch64/sysv.S @@ -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)