@Override
	protected MemoryBlock createUninitializedBlock(MemoryLoadable loadable, boolean isOverlay,
			String name, Address start, long dataLength, String comment, boolean r, boolean w,
			boolean x) throws IOException, AddressOverflowException {

		// TODO: MemoryBlockUtil poorly and inconsistently handles duplicate name errors (can throw RuntimeException).
		// Are we immune from such errors? If not, how should they be handled?

		long revisedLength = checkBlockLimit(name, dataLength, false);

		if (start.isNonLoadedMemoryAddress()) {
			r = false;
			w = false;
			x = false;
		}

		if (dataLength != revisedLength) {
			comment += " (section truncated)";
		}

		return MemoryBlockUtils.createUninitializedBlock(program, isOverlay, name, start,
			revisedLength, comment, BLOCK_SOURCE_NAME, r, w, x, log);
	}
check if new symbol needs to grab the primary label.
Elf sometimes has multiple symbols at a location marking the type of instruction of data at the location.
@param sym - new symbol to be made primary (some exclusions apply)
@return revised symbol
Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/ElfProgramBuilder.java