Absolute object code is machine code
that contains references to actual addresses within the program's
address space. When the linker combines relocatable object files
to build a program file, or a.out
file, it writes absolute object code into the file. Thus, when the
program is executed, its routines and data must reside at the addresses
determined by the linker.
Note that absolute object code does not contain
physical addresses. Physical addresses refer
to exact locations in physical memory. Instead, absolute object
code contains virtual addresses within a process's address space.
These virtual addresses are mapped to physical addresses by the
HP-UX virtual memory management system.
Because program files contain absolute virtual addresses,
the HP-UX program loader, exec,
must always load the code and data into the same location within
a process's address space. Because this code always resides at the
same location within the address space, and because it contains
virtual addresses, it is not suitable for shared libraries, although
it can be shared by several processes running the same program.