ELF object files
This chapter describes the executable and linking format
(ELF) of the object files produced by the
C compilation system.
The first section,
``Program linking'',
focuses on how the format pertains to building programs.
The second section,
``Program execution'',
focuses on how the format pertains to loading programs.
See
``Link editing'' in the Programming Tools Guide
for more information.
There are three main types of object files:
A relocatable fileholds code and data suitable for linking with other object
files to create an executable or a shared object file.
An executable fileholds a program suitable for execution; the file specifies
how exec() creates a program's process image.
A shared object file holds code and data suitable
for linking in two contexts. First, the link editor
processes the shared object file with other relocatable and
shared object files to create another object file. Second,
the dynamic linker combines it with an executable file and
other shared objects to create a process image.
Programs manipulate object files with the functions
contained in the ELF access library,
libelf.
See
elf(S)
for more information.