private Address processReturnAddrRegister(Address addr) throws MemoryAccessException {

		/*
		 * Create a new CIE Return Address Register field at the specified
		 * address and sets an appropriate comment for the new structure.
		 */
		String comment = "(CIE) Return Address Register Column";

		int encodedLen = 0;
		DataType encodedDt = null;
		if (version == (byte) 1) {
			returnAddrRegister = GccAnalysisUtils.readByte(program, addr);
			encodedDt = new ByteDataType();
			// TODO Instead use the following data type once it can correctly determine the register.
			// encodedDt = new DwarfRegisterByteDataType();
			encodedLen = BYTE_LEN;
		}
		else {

			LEB128Info uleb128 = GccAnalysisUtils.readULEB128Info(program, addr);

			encodedDt = UnsignedLeb128DataType.dataType;
			// TODO Instead use the following data type once it can correctly determine the register.
			// encodedDt = new DwarfRegisterLeb128DataType();

			encodedLen = uleb128.getLength();
			returnAddrRegister = (int) uleb128.asLong();

		}

		createAndCommentData(program, addr, encodedDt, comment, CommentType.EOL);
		curSize += encodedLen;

		return addr.add(encodedLen);
	}
Creates the CIE Return Address Register field.

@param addr Address at which the Return Address Register field should be created.
@return Address immediately following the Return Address field.
@throws MemoryAccessException if memory for the CIE couldn't be read.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/exceptionhandlers/gcc/structures/ehFrame/Cie.java