R_RISCV_CALL has been deprecated. [1] Both GCC and LLVM seem to not generate it anymore and always use R_RISCV_CALL_PLT (even for calls that do not need a PLT entry). Generating PLT entries based on relocation type is not recommended and a better heuristic is to only generate them when the target symbol is preemptable [2]. This patch implements this by only generating PLT entries for undefined symbols. [1] https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/340 [2] https://github.com/riscv-non-isa/riscv-elf-psabi-doc/issues/98 Reviewed By: lhames Differential Revision: https://reviews.llvm.org/D149525