Browse Source

PPC64: don't save TOC in pure assembler routines

Fix by Pierre
Jonas Maebe 3 years ago
parent
commit
0fcc57fb4b
1 changed files with 2 additions and 1 deletions
  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 }
   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
       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);