I am writing an Elf Loader for ARM/ARM64. While processing the dynamic relocations I became a bit confused by some of the terms/symbols in the documentation I am following. On Pg.14 it is stated,
"S (when used on its own) is the address of the symbol." "P is the address of the place being relocated (derived from r_offset)."
"Delta(S) if S is a normal symbol, resolves to the difference between the static link address of S and the execution address of S. If S is the null symbol (ELF symbol index 0), resolves to the difference between the static link address of P and the execution address of P."
From what I gather, I believe the "execution address" of S (or P) to be the address of the symbol in the process's memory space but am unsure what is meant by "static link address".
If someone can clarify the terminology that would be great, thank you.