Răsfoiți Sursa

* fixed size of base stack frame for ELFv2

git-svn-id: trunk@42835 -
Jonas Maebe 6 ani în urmă
părinte
comite
a6a6c2cb07
1 a modificat fișierele cu 6 adăugiri și 2 ștergeri
  1. 6 2
      compiler/powerpc64/cpupara.pas

+ 6 - 2
compiler/powerpc64/cpupara.pas

@@ -298,8 +298,12 @@ function tcpuparamanager.ret_in_param(def: tdef; pd: tabstractprocdef): boolean;
 procedure tcpuparamanager.init_values(var curintreg, curfloatreg, curmmreg:
 procedure tcpuparamanager.init_values(var curintreg, curfloatreg, curmmreg:
   tsuperregister; var cur_stack_offset: aword);
   tsuperregister; var cur_stack_offset: aword);
 begin
 begin
-  { register parameter save area begins at 48(r2) }
-  cur_stack_offset := 48;
+  case target_info.abi of
+    abi_powerpc_elfv2:
+      cur_stack_offset := 32;
+    else
+      cur_stack_offset := 48;
+  end;
   curintreg := RS_R3;
   curintreg := RS_R3;
   curfloatreg := RS_F1;
   curfloatreg := RS_F1;
   curmmreg := RS_M2;
   curmmreg := RS_M2;