private Address createPcRange(Address addr)
			throws ExceptionHandlerFrameException, MemoryAccessException {

		/* 
		 * Create a new pcRange field at the specified address 
		 * and sets an appropriate comment for the new structure.
		 */
		String comment = "(FDE) PcRange";

		DataType dataType = getAddressSizeDataType();
		byte[] range = new byte[dataType.getLength()];
		GccAnalysisUtils.readBytes(program, addr, range);
		DataConverter converter = DataConverter.getInstance(program.getMemory().isBigEndian());
		intPcRange = (int) converter.getSignedValue(range, range.length);

		if (intPcRange < 0) {
			return null;
		}

		if (intPcRange == 0) {
			intPcRange = 1;
		}
		pcEndAddr = pcBeginAddr.add(intPcRange - 1);

		if (dataType.getLength() == 8) {
			// While this is 64-bit system, this length may be encoded as a 32-bit value, 
			// arguing a length needn't use all 8 bytes. If it *is* encoded in 8 bytes, the 
			// top 32-bits will be zero; if it is *not* encoded in 8 and instead 4, the top 32-bits
			// will be non-zero as they're part of the call frame instructions that follow.

			// this dimension can be encoded in less than 8 bytes.
			// ReadElf reads *a byte* for this value
			int next = (int) GccAnalysisUtils.readDWord(program, addr.add(4));
			if (next != 0) {
				dataType = DWordDataType.dataType;
			}
		}

		int dtLength = dataType.getLength();
		createAndCommentData(program, addr, dataType, comment, CommentType.EOL);

		curSize += dtLength;

		try {
			Address nextAddr = addr.add(dtLength);
			return nextAddr;
		}
		catch (AddressOutOfBoundsException e) {
			// At the end of the block so return null.
			return null;
		}
	}
Creates the PcRange field at the specified Address.

@param addr Address at which the PcRange field should be created.
@return Address immediately following the PcRange field
or null if next address would be out of bounds.
@throws ExceptionHandlerFrameException if there is an error creating the information.
@throws MemoryAccessException if the required memory can't be read
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/exceptionhandlers/gcc/structures/ehFrame/FrameDescriptionEntry.java