Relocation is the process of connecting symbolic references with symbolic definitions
During relocation process, memory address placeholder would be replaced.
Relocation entries contain information that describes how to modify section contents.
Relocation helps to resolve all symbolic expressions.
Static Relocation
- References between modules being linked together.
- Processed by the toolchain linker.
Dynamic Relocation
- References to dynamically loaded libraries
- Processed by the run-time linker, ld.so