private void processStringTables(TaskMonitor monitor) throws CancelledException {
		monitor.setMessage("Processing string tables...");
		monitor.setShowProgressValue(false);

		ElfStringTable[] stringTables = elf.getStringTables();

		long totalLength = 0;
		for (ElfStringTable stringTable : stringTables) {
			totalLength += stringTable.getLength();
		}
		monitor.initialize(totalLength);

		for (ElfStringTable stringTable : stringTables) {
			monitor.checkCancelled();

			Address stringTableAddr = null;

			ElfSectionHeader section = stringTable.getTableSectionHeader();
			if (section != null) {
				stringTableAddr = findLoadAddress(section, 0);
			}
			else {
				stringTableAddr = findLoadAddress(stringTable.getFileOffset(), 1);
			}
			if (stringTableAddr == null) {
//				log("Failed to locate string table at file offset 0x" +
//					Long.toHexString(stringTable.getFileOffset()));
				monitor.incrementProgress(stringTable.getLength()); // skipping table
				continue;
			}

			AddressRange rangeConstraint = getMarkupMemoryRangeConstraint(stringTableAddr);
			if (rangeConstraint == null) {
				monitor.incrementProgress(stringTable.getLength()); // skipping table
				continue;
			}

			long tblLength = stringTable.getLength();
			long limit = Math.min(tblLength, rangeConstraint.getLength());
			if (limit < tblLength) {
				monitor.incrementProgress(tblLength - limit);
			}

			markupStringTable(stringTableAddr, limit, monitor);
		}

		monitor.setShowProgressValue(true);
	}
Add memory reference to dynamic table scalar value and return the referenced address
specified by the value
@param valueData defined {@link Data} within the dynamic table whose operand value should 
		be treated as an address offset and to which a memory reference should be applied.
@param definedMemoryOnly if true derived reference to-address must exist within a defined
		memory block. 
@param label optional label to be applied at reference to-address (may be null)
@return referenced to-address specified by the value
@throws InvalidInputException if an invalid label name is specified
Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/ElfProgramBuilder.java