private Address setTableEntryIfZero(Address tableBaseAddr, int entryIndex, long value,
			ElfLoadHelper elfLoadHelper) throws MemoryAccessException {
		boolean is64Bit = elfLoadHelper.getElfHeader().is64Bit();
		Memory memory = elfLoadHelper.getProgram().getMemory();
		Address tableEntryAddr;
		if (is64Bit) {
			tableEntryAddr = tableBaseAddr.add(entryIndex * 8);
			long offset = memory.getLong(tableEntryAddr);
			if (offset == 0 && value != 0) {
				elfLoadHelper.addArtificialRelocTableEntry(tableEntryAddr, 8);
				memory.setLong(tableEntryAddr, value);
			}
		}
		else {
			tableEntryAddr = tableBaseAddr.add(entryIndex * 4);
			int offset = memory.getInt(tableEntryAddr);
			if (offset == 0 && value != 0) {
				elfLoadHelper.addArtificialRelocTableEntry(tableEntryAddr, 4);
				memory.setInt(tableEntryAddr, (int) value);
			}
		}
		return tableEntryAddr;
	}
Attempt to update external dynamic .got entries for non-relocatable binaries.
@param elfLoadHelper ELF load helper
@param elfSymbol ELF symbol being processed
@param address dynamic symbol address
Ghidra/Processors/MIPS/src/main/java/ghidra/app/util/bin/format/elf/extend/MIPS_ElfExtension.java