- Handle initial relocation types R_RISCV_32, R_RISCV_64, R_RISCV_CALL_PLT and R_RISCV_GOT_HI20.
- Produce dynamic relocation types: R_RISCV_COPY, R_RISCV_RELATIVE, R_RISCV_JUMP_SLOT, and R_RISCV_{32,64}.
- Generate PLT header: it is used by glibc lazy binding PLT.
Simple -no-pie/-pie/-shared programs linked against musl or glibc should
work with this patch.
nit: add a blank line