Relocation (computing)
Relocation is the process of assigning load addresses to various parts of program and adjusting the code and data in the program to reflect the assigned addresses. A linker usually performs relocation in conjunction with symbol resolution, the process of searching files and libraries to replace symbolic references or names of libraries with actual usable addresses in memory before running a program. Although relocation is typically done by the linker at link time, it can also be done at execution time by a relocating loader, or by the running program itself.
Read more about Relocation (computing): Relocation Procedure, Relocation Table