This patch supports the R_RISCV_JAL relocation.
Moreover, it will fix the extractBits function's behavior as it extracts Size + 1 bits.
In the test ELF_jal.s:
Before:
Hi: 4294836480 extractBits(Hi, 12, 8): 480
After:
Hi: 4294836480 extractBits(Hi, 12, 8): 224
I think R_RISCV_JAL don't need to left shift Value 12 bits.