8.4. Process Initialization

LSB-conforming applications shall use the Process initialization as defined in Chapter 3, Section "Process Initialization" of the System V Application Binary Interface PowerPC Processor Supplement.

8.4.1. Special Registers

Contrary to what is stated in the Registers part of chapter 3 of the System V Application Binary Interface PowerPC Processor Supplement there are no values set in registers r3, r4, r5, r6 and r7. Instead the values specified to appear in all of those registers except r7 are placed on the stack. The value to be placed into register r7, the termination function pointer is not passed to the process.

8.4.2. Process Stack (on entry)

Figure 3-31 in System V Application Binary Interface PowerPC Processor Supplement is incorrect. The initial stack must look like the following.

Figure 8-1. Initial Process Stack

8.4.3. Auxiliary Vector

In addition to the types defined in Chapter 3, Section "Process Initialization", Subsection "Process Stack" of the System V Application Binary Interface PowerPC Processor Supplement the following are also supported:

Table 8-2. Extra Auxiliary Types

NameValueComment
AT_NOTELF10Program is not ELF
AT_UID11Real uid
AT_EUID12Effective uid
AT_GID13Real gid
AT_EGID14Effective gid
AT_PLATFORM15String identifying CPU for optimizations
AT_HWCAP16Arch dependent hints at CPU capabilities
AT_CLKTCK17Frequency at which times() increments
AT_DCACHEBSIZE19The a_val member of this entry gives the data cache block size for processors on the system on which this program is running. If the processors have unified caches, AT_DCACHEBSIZE is the same as AT_UCACHEBSIZE
AT_ICACHEBSIZE20The a_val member of this entyr gives the instruction cache block size for processors on the system on which this program is running. If the processors have unified caches, AT_DCACHEBSIZE is the same as AT_UCACHEBSIZE.
AT_UCACHEBSIZE21The a_val member of this entry is zero if the processors on the system on which this program is running do not have a unified instruction and data cache. Otherwise it gives the cache block size.
AT_IGNOREPPC22All entries of this type should be ignored.

The last three entries in the table above override the values specified in System V Application Binary Interface PowerPC Processor Supplement.