The calling sequence and stack frame for 64 bit PowerPC

The 64-bit PowerPC ELF ABI defines a 288-byte red zone beneath the stack pointer which can be used by leaf functions in lieu of allocating their own stack frame. The stack frame is:
  fp reg save area (optional)
  ireg save area (optional)
  VRSAVE save word (32 bits, optional)
  padding (optional)
  Local storage (optional)
48(r1) Parameter area ($>= 8$ words)
40(r1) TOC save area
32(r1) Link editor doubleword
24(r1) Compiler doubleword
16(r1) Link register (LR) save
8(r1) Condition register (CR) save
0(r1) ptr to callee's stack

If the LR is changed, it is first saved to the LR save area, and similarly if any of the callee-saved condition register fields are modified, it must be saved to the CR save area.

Clint Whaley 2012-07-10