private void addLabelInfo(Address p1Address) {
		Address p2Address = SimpleDiffUtility.getCompatibleAddress(p1, p1Address, p2);

		Symbol[] s1 = p1.getSymbolTable().getSymbols(p1Address);
		Symbol[] s2 =
			(p2Address != null) ? p2.getSymbolTable().getSymbols(p2Address) : new Symbol[0];
		// Need to get lists of symbols without default labels.
		s1 = stripDefaultLabels(s1);
		s2 = stripDefaultLabels(s2);
		if ((s1.length == 0) && (s2.length == 0)) {
			return;
		}

		Comparator<Symbol> c = SymbolUtilities.getSymbolNameComparator();
		Arrays.sort(s1, c);
		Arrays.sort(s2, c);

		boolean s1IsEntry = ((s1.length > 0) && s1[0].isExternalEntryPoint());
		boolean s2IsEntry = ((s2.length > 0) && s2[0].isExternalEntryPoint());
		boolean entryPtsDiffer = (s1IsEntry != s2IsEntry);
		if (entryPtsDiffer) {
			if (!hasSymbolDiffs) {
				addDiffHeader("Label");
				hasSymbolDiffs = true;
			}
		}

		boolean sameSyms = sameSymbols(s1, s2);
		int maxLen = "Name".length();
		int maxTypeLen = "Type".length();
		int maxSourceLen = "Source".length();
		if (!sameSyms) {
			if (!hasSymbolDiffs) {
				addDiffHeader("Label");
				hasSymbolDiffs = true;
			}
			for (Symbol element : s1) {
				int len = element.getName().length();
				if (len > maxLen) {
					maxLen = len;
				}
				int typelen = element.getSymbolType().toString().length();
				if (typelen > maxTypeLen) {
					maxTypeLen = typelen;
				}
				int sourceLen = element.getSource().toString().length();
				if (sourceLen > maxSourceLen) {
					maxSourceLen = sourceLen;
				}
			}
			for (Symbol element : s2) {
				int len = element.getName().length();
				if (len > maxLen) {
					maxLen = len;
				}
				int typelen = element.getSymbolType().toString().length();
				if (typelen > maxTypeLen) {
					maxTypeLen = typelen;
				}
				int sourceLen = element.getSource().toString().length();
				if (sourceLen > maxSourceLen) {
					maxSourceLen = sourceLen;
				}
			}
			addSymbolInfo(1, p1Address, s1IsEntry, s1, maxLen, maxTypeLen, maxSourceLen);
			addSymbolInfo(2, p2Address, s2IsEntry, s2, maxLen, maxTypeLen, maxSourceLen);
		}
		else if (entryPtsDiffer) {
			addSymbolInfo(1, p1Address, s1IsEntry, null, 0, 0, 0);
			addSymbolInfo(2, p2Address, s2IsEntry, null, 0, 0, 0);
		}
	}
Adds a string to the details indicating the address with byte differences and the byte values.
@param p1Address the address to get the bytes for.
This address should be derived from program1.
@param addrLength the length of the address field.
@param mem1 the first program's memory for obtaining the bytes
@param mem2 the second program's memory.
Ghidra/Features/Base/src/main/java/ghidra/program/util/ProgramDiffDetails.java