diff --git a/src/stub/src/arch/powerpc/32/ppc_regs.h b/src/stub/src/arch/powerpc/32/ppc_regs.h index aff7bc11..d287dec0 100644 --- a/src/stub/src/arch/powerpc/32/ppc_regs.h +++ b/src/stub/src/arch/powerpc/32/ppc_regs.h @@ -36,6 +36,7 @@ /* Stack pointer */ #define sp 1 +SZ_FRAME= 6*4 // (sp,cr,lr, xx,yy,zz) save area per calling convention /* Subroutine arguments; not saved by callee */ #define a0 3 diff --git a/src/stub/src/arch/powerpc/64le/ppc_regs.h b/src/stub/src/arch/powerpc/64le/ppc_regs.h index bf13c4fb..ecd40593 100644 --- a/src/stub/src/arch/powerpc/64le/ppc_regs.h +++ b/src/stub/src/arch/powerpc/64le/ppc_regs.h @@ -36,6 +36,7 @@ /* Stack pointer */ #define sp 1 +SZ_FRAME= 6*8 + 8*8 // (sp,cr,lr, xx,yy,zz) + spill area for a0-a7 /* Subroutine arguments; not saved by callee */ #define a0 3 diff --git a/src/stub/src/powerpc64le-linux.elf-entry.S b/src/stub/src/powerpc64le-linux.elf-entry.S index 018c87bb..499d804a 100644 --- a/src/stub/src/powerpc64le-linux.elf-entry.S +++ b/src/stub/src/powerpc64le-linux.elf-entry.S @@ -35,9 +35,6 @@ #include "arch/powerpc/64le/macros.S" #include "arch/powerpc/64le/ppc_regs.h" -SZ_LINK= 6*8 -SZ_PSAV= 8*8 -SZ_FRAME= SZ_LINK + SZ_PSAV sz_b_info= 12 sz_unc= 0 diff --git a/src/stub/src/powerpc64le-linux.elf-fold.S b/src/stub/src/powerpc64le-linux.elf-fold.S index 9dab2aea..9bafe4ec 100644 --- a/src/stub/src/powerpc64le-linux.elf-fold.S +++ b/src/stub/src/powerpc64le-linux.elf-fold.S @@ -50,11 +50,11 @@ sz_p_info= 12 OVERHEAD= 2048 // http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi.html#STACK -SZ_LINK= 6*8 // (sp,cr,lr, tmp.xlc,tmp.ld,save.toc) -SZ_PSAV= 8*8 // for arg9, arg10, ...; and for spilling a0-a7 if necessary +//SZ_LINK= 6*8 // (sp,cr,lr, tmp.xlc,tmp.ld,save.toc) +//SZ_PSAV= 8*8 // for arg9, arg10, ...; and for spilling a0-a7 if necessary // The parameter save area shall be allocated by the caller. // It shall be doubleword aligned, and shall be at least 8 doublewords in length. -SZ_FRAME= SZ_LINK + SZ_PSAV +//SZ_FRAME= SZ_LINK + SZ_PSAV // in ppc_regs.h /* In: r31= &decompress; also 8+ (char *)&(#bytes which preceed &-8(r31)