private void processTocSymbol(ContainerHeader header, Program program,
			ImportStateCache importState, MessageLog log, TaskMonitor monitor) {
		SymbolTable symbolTable = program.getSymbolTable();
		List<SectionHeader> sections = header.getSections();
		if (sections.size() < 2) {
			return;
		}
		SectionHeader dataSection = sections.get(1);
		if (!dataSection.isWrite()) {//is not a data section...
			return;
		}
		Address tocAddress = importState.getTocAddress();
		if (tocAddress == null) {
			MemoryBlock dataBlock = importState.getMemoryBlockForSection(dataSection);
			tocAddress = dataBlock.getStart();
		}
		try {
			symbolTable.createLabel(tocAddress, PefConstants.TOC, SourceType.IMPORTED);
			CreateDataCmd cmd = new CreateDataCmd(tocAddress, new PointerDataType());
			cmd.applyTo(program);
		}
		catch (Exception e) {
			log.appendException(e);
		}
	}
TODO determine how to correctly identify TOC location
Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/PefLoader.java