---------------------------------------------------------------------------- Base address Executable and shared object files have a base address, which is the lowest virtual address associated with the memory image of the program's object file. One use of the base address is to relocate the memory image of the program during dynamic linking. An executable or shared object file's base address is calculated during execution from three values: the memory load address, the maximum page size, and the lowest virtual address of a program's loadable segment. The virtual addresses in the program headers might not represent the actual virtual addresses of the program's memory image. ---------------------------------------------------------------------------- NOTE: See ``Program loading (processor-specific)'' for more information. ---------------------------------------------------------------------------- To compute the base address, determine the memory address associated with the lowest p_vaddr value for a PT_LOAD segment. Next obtain the base address by truncating the memory address to the nearest multiple of the maximum page size. Depending on the type of file being loaded into memory, the memory address might or might not match the p_vaddr values.