private static int encodeSBTypeImm(int val) {
		return (getBitField(val, 1, 4) << 8) | (getBitField(val, 5, 6) << 25) |
			(getBitField(val, 11, 1) << 7) | (getBitField(val, 12, 1) << 31);
	}
PC relative relocations like R_RISCV_PCREL_LO12_I find their target indirectly,
using their symbolValue to locate the address of the matching R_RISCV_PCREL_HI20
or R_RISCV_GOT_HI20.  The HI20 relocation's symbol identifies the actual target.
@param elfRelocationContext ELF relocation context for RISCV
@param hi20Symbol symbol which identifies a HI20 relocation offset
@param relocAddrOffsetAdj relocation offset adjustment to be used when computing
actual address offet within the target program.
@return the 32-bit HI20 relative offset value or 0 if HI20 relocation not found
Ghidra/Processors/RISCV/src/main/java/ghidra/app/util/bin/format/elf/relocation/RISCV_ElfRelocationHandler.java