Linux Standard Base Core Specification for IA64 3.2 | ||
---|---|---|
<<< Previous | Chapter 8. Low Level System Information | Next >>> |
LSB-conforming applications shall use the Process Startup as defined in Section 3.3.5 of the Intel® Itanium™ Processor-specific Application Binary Interface.
Intel® Itanium™ Processor-specific Application Binary Interface, section 3.3.5, defines required register initializations for process startup.
As defined in Intel® Itanium™ Processor-specific Application Binary Interface, section 3.3.5, the return pointer register (rp) shall contain a valid return address, such that if the application program returns from the main entry routine, the implementation shall cause the application to exit normally, using the returned value as the exit status. Further, the unwind information for this "bottom of stack" routine in the implementation shall provide a mechanism for recognizing the bottom of the stack during a stack unwind.
The auxiliary vector conveys information from the operating system to the application. Only the terminating null auxiliary vector entry is required, but if any other entries are present, they shall be interpreted as follows. This vector is an array of the following structures.
typedef struct { long int a_type; /* Entry type */ union { long int a_val; /* Integer value */ void *a_ptr; /* Pointer value */ void (*a_fcn) (void); /* Function pointer value */ } a_un; } auxv_t; |
The application shall interpret the a_un value according to the a_type. Other auxiliary vector types are reserved.
The a_type field shall contain one of the following values:
Note: The auxiliary vector is intended for passing information from the operating system to the program interpreter.
Although a pointer to the environment vector should be available as a third argument to the main() entry point, conforming applications should use getenv() to access the environment. (See ISO POSIX (2003), Section exec()).
<<< Previous | Home | Next >>> |
Operating System Interface | Up | Coding Examples |