DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
ELF object files

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.


Next topic: Segment permissions
Previous topic: Segment types, p_type

© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003