These are OS and platform-specific, but for x86 / x64 Linux, the global offset table is just a bunch of function addresses. There is one entry for each character. Before characters are resolved, addresses (for functions) will be returned to the procedure binding table (PLT), but then updated to indicate the actual locations of the functions.
source share