global offset table
A table of addresses in a program's data that the dynamic linker fills in, so position-independent code can find things in other libraries.
The global offset table (GOT) is a writable array of pointers, one per external symbol a module references; code loads a symbol's address from its GOT entry PC-relatively, and the dynamic linker writes the entries at load time (or lazily, for function entries).
Examples
mov rax, [rip + counter@GOTPCREL]loadscounter's address from its GOT entry.