unsigned long getauxval(unsigned long type);
- The base address of the program interpreter (usually, the dynamic linker).
- A string identifying the real platform; may differ from AT_PLATFORM (PowerPC only).
- The frequency with which times(2) counts. This value can also be obtained via sysconf(_SC_CLK_TCK).
- The data cache block size.
- The effective group ID of the thread.
- The entry address of the executable.
- The effective user ID of the thread.
- File descriptor of program.
- Pathname used to execute program.
- Flags (unused).
- Used FPU control word (SuperH architecture only). This gives some information about the FPU initialization performed by the kernel.
- The real group ID of the thread.
- An architecture and ABI dependent bit-mask whose settings indicate detailed processor capabilities. The contents of the bit mask are hardware dependent (for example, see the kernel source file arch/x86/include/asm/cpufeature.h for details relating to the Intel x86 architecture; the value returned is the first 32-bit word of the array described there). A human-readable version of the same information is available via /proc/cpuinfo.
- AT_HWCAP2 (since glibc 2.18)
- Further machine-dependent hints about processor capabilities.
- The instruction cache block size.
- The system page size (the same value returned by sysconf(_SC_PAGESIZE)).
- The address of the program headers of the executable.
- The size of program header entry.
- The number of program headers.
- A pointer to a string that identifies the hardware platform that the program is running on. The dynamic linker uses this in the interpretation of rpath values.
- The address of sixteen bytes containing a random value.
- Has a nonzero value if this executable should be treated securely. Most commonly, a nonzero value indicates that the process is executing a set-user-ID or set-group-ID binary (so that its real and effective UIDs or GIDs differ from one another), or that it gained capabilities by executing a binary file that has capabilities (see capabilities(7)). Alternatively, a nonzero value may be triggered by a Linux Security Module. When this value is nonzero, the dynamic linker disables the use of certain environment variables (see ld-linux.so(8)) and glibc changes other aspects of its behavior. (See also secure_getenv(3).)
- The entry point to the system call function in the vDSO. Not present/needed on all architectures (e.g., absent on x86-64).
- The address of a page containing the virtual Dynamic Shared Object (vDSO) that the kernel creates in order to provide fast implementations of certain system calls.
- The unified cache block size.
- The real user ID of the thread.
- ENOENT (since glibc 2.19)
- No entry corresponding to type could be found in the auxiliary vector.
|getauxval ()||Thread safety||MT-Safe|
$ LD_SHOW_AUXV=1 sleep 1
The auxiliary vector of any process can (subject to file permissions) be obtained via /proc/[pid]/auxv; see proc(5) for more information.