protected void initElfRelocation(ElfHeader elfHeader, int relocationTableIndex,
			boolean withAddend, long offset, long info, long addend) throws IOException {
		this.is32bit = elfHeader.is32Bit();
		this.relocationIndex = relocationTableIndex;
		this.hasAddend = withAddend;

		if (is32bit) {
			this.r_offset = Integer.toUnsignedLong((int) offset);
			this.r_info = Integer.toUnsignedLong((int) info);
		}
		else {
			this.r_offset = offset;
			this.r_info = info;
		}
		if (hasAddend) {
			this.r_addend = addend;
		}
	}
Initialize ELF relocation entry using data provided via the parameters.
@param elfHeader ELF header
@param relocationTableIndex index of relocation within relocation table
@param withAddend true if it's a RELA entry with addend, else false
@param offset The offset for the entry (r_offset)
@param info The info value for the entry (r_info)
@param addend The signed-addend (r_addend) for the entry (32-bit addends should 
be signed-extended to 64-bits)
@throws IOException if an IO or parse error occurs
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/elf/ElfRelocation.java