From: Khem Raj Date: Sat, 14 Jan 2023 01:44:38 +0000 (-0800) Subject: [hwasan] Replace j __interceptor_sigsetjmp instead with tail for RISC-V X-Git-Tag: upstream/17.0.6~20937 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dc9c41125caa07b4f4ad0b6cb3348b499dbcf3a5;p=platform%2Fupstream%2Fllvm.git [hwasan] Replace j __interceptor_sigsetjmp instead with tail for RISC-V R_RISCV_JAL referencing a preemptible symbol is disallowed with ld.lld and binutils 2.40 (https://sourceware.org/PR28509) riscv64-yoe-linux-ld: relocation R_RISCV_JAL against `__interceptor_sigsetjmp' which may bind externally can not be used when making a shared object; recompile with -fPIC Reviewed By: kito-cheng, MaskRay Differential Revision: https://reviews.llvm.org/D141656 --- diff --git a/compiler-rt/lib/hwasan/hwasan_setjmp_riscv64.S b/compiler-rt/lib/hwasan/hwasan_setjmp_riscv64.S index f33c491..43f9c3c 100644 --- a/compiler-rt/lib/hwasan/hwasan_setjmp_riscv64.S +++ b/compiler-rt/lib/hwasan/hwasan_setjmp_riscv64.S @@ -36,7 +36,7 @@ ASM_TYPE_FUNCTION(__interceptor_setjmp) __interceptor_setjmp: CFI_STARTPROC addi x11, x0, 0 - j __interceptor_sigsetjmp + tail __interceptor_sigsetjmp CFI_ENDPROC ASM_SIZE(__interceptor_setjmp)