Browse Source

PPC64: don't save TOC in pure assembler routines

Fix by Pierre
Jonas Maebe 3 năm trước cách đây
mục cha
commit
0fcc57fb4b
1 tập tin đã thay đổi với 2 bổ sung1 xóa
  1. 2 1
      compiler/powerpc64/cgcpu.pas

+ 2 - 1
compiler/powerpc64/cgcpu.pas

@@ -1259,7 +1259,8 @@ begin
 
 
   { save current RTOC for restoration after calls if necessary }
   { save current RTOC for restoration after calls if necessary }
   if (pi_do_call in current_procinfo.flags) and
   if (pi_do_call in current_procinfo.flags) and
-     (target_info.abi in abis_ppc_toc) then
+     (target_info.abi in abis_ppc_toc) and
+     not nostackframe then
     begin
     begin
       reference_reset_base(href,NR_STACK_POINTER_REG,get_rtoc_offset,ctempposinvalid,target_info.stackalign,[]);
       reference_reset_base(href,NR_STACK_POINTER_REG,get_rtoc_offset,ctempposinvalid,target_info.stackalign,[]);
       a_load_reg_ref(list,OS_ADDR,OS_ADDR,NR_RTOC,href);
       a_load_reg_ref(list,OS_ADDR,OS_ADDR,NR_RTOC,href);