@Override
	public long getSymbolValue(ElfSymbol symbol) {
		long symbolValue = super.getSymbolValue(symbol);
		if (symbolValue == 0 && ElfConstants.GOT_SYMBOL_NAME.equals(symbol.getNameAsString())) {
			Address gotAddr = symbolMap.get(symbol);
			if (gotAddr == null) {
				gotAddr = allocateGot();
			}
			if (gotAddr != null) {
				return gotAddr.getOffset();
			}
		}
		return symbolValue;
	}
<code>X86_64_ElfRelocationContext</code> provides ability to generate a
Global Offset Table (GOT) to facilitate GOT related relocations encountered within 
object modules.
Ghidra/Processors/x86/src/main/java/ghidra/app/util/bin/format/elf/relocation/X86_64_ElfRelocationContext.java