* more cfi support for aarch64

git-svn-id: trunk@48714 -
This commit is contained in:
florian 2021-02-18 21:44:12 +00:00
parent 600a5dd13f
commit ef8d520e82

View File

@ -1797,12 +1797,16 @@ implementation
reference_reset_base(ref,NR_SP,-16,ctempposinvalid,16,[]);
ref.addressmode:=AM_PREINDEXED;
list.concat(taicpu.op_reg_reg_ref(A_STP,NR_FP,NR_LR,ref));
current_asmdata.asmcfi.cfa_def_cfa_offset(list,2*sizeof(pint));
current_asmdata.asmcfi.cfa_offset(list,NR_FP,-16);
current_asmdata.asmcfi.cfa_offset(list,NR_LR,-8);
if target_info.system=system_aarch64_win64 then
list.concat(cai_seh_directive.create_offset(ash_savefplr_x,16));
{ initialise frame pointer }
if current_procinfo.procdef.proctypeoption<>potype_exceptfilter then
begin
a_load_reg_reg(list,OS_ADDR,OS_ADDR,NR_SP,NR_FP);
current_asmdata.asmcfi.cfa_def_cfa_register(list,NR_FP);
if target_info.system=system_aarch64_win64 then
list.concat(cai_seh_directive.create(ash_setfp));
end