private void markupIndirectSymbolTable(Program program, MachHeader header, String source,
			TaskMonitor monitor, MessageLog log) {
		Address indirectSymbolTableAddr =
			fileOffsetToAddress(program, header, indirectsymoff, nindirectsyms);
		if (indirectSymbolTableAddr == null) {
			return;
		}

		markupPlateComment(program, indirectSymbolTableAddr, source, "indirect");
		
		SymbolTableCommand symbolTable = header.getFirstLoadCommand(SymbolTableCommand.class);
		Address symbolTableAddr = fileOffsetToAddress(program, header,
			symbolTable.getSymbolOffset(), symbolTable.getNumberOfSymbols());
		Address stringTableAddr = fileOffsetToAddress(program, header,
			symbolTable.getStringTableOffset(), symbolTable.getStringTableSize());

		ReferenceManager referenceManager = program.getReferenceManager();
		try {
			for (int i = 0; i < nindirectsyms; i++) {
				int nlistIndex = indirectSymbols.get(i);
				Address dataAddr = indirectSymbolTableAddr.add(i * DWORD.getLength());
				DataUtilities.createData(program, dataAddr, DWORD, -1,
					DataUtilities.ClearDataMode.CHECK_FOR_SPACE);
				if (symbolTableAddr != null) {
					NList nlist = symbolTable.getSymbolAt(nlistIndex);
					if (nlist == null) {
						continue;
					}
					Reference ref = referenceManager.addMemoryReference(dataAddr,
						symbolTableAddr.add(nlistIndex * nlist.getSize()), RefType.DATA,
						SourceType.IMPORTED, 0);
					referenceManager.setPrimary(ref, true);
					if (stringTableAddr != null && nlist.getStringTableIndex() != 0) {
						Address strAddr = stringTableAddr.add(nlist.getStringTableIndex());
						referenceManager.addMemoryReference(dataAddr, strAddr, RefType.DATA,
							SourceType.IMPORTED, 0);
					}
				}
			}
		}
		catch (Exception e) {
			log.appendMsg(DynamicSymbolTableCommand.class.getSimpleName(),
				"Failed to markup: " + getContextualName(source, "indirect"));
		}
	}
Returns the number of entries in the local relocation table.
@return the number of entries in the local relocation table
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/macho/commands/DynamicSymbolTableCommand.java