File riscv.patch of Package libblastrampoline
Index: libblastrampoline-5.11.0/src/libblastrampoline.c
===================================================================
--- libblastrampoline-5.11.0.orig/src/libblastrampoline.c
+++ libblastrampoline-5.11.0/src/libblastrampoline.c
@@ -35,7 +35,7 @@ __attribute__((always_inline)) inline ui
#elif defined(ARCH_powerpc64le)
asm("\t addi %0,11,0" : "=r"(idx));
#elif defined(ARCH_riscv64)
- asm("\t mov %%t4,%0" : "=r"(idx));
+ asm("\t mv %0,t4" : "=r"(idx));
#elif defined(ARCH_x86_64)
asm("\t movq %%r10,%0" : "=r"(idx));
#else
Index: libblastrampoline-5.11.0/src/trampolines/trampolines_riscv64.S
===================================================================
--- libblastrampoline-5.11.0.orig/src/trampolines/trampolines_riscv64.S
+++ libblastrampoline-5.11.0/src/trampolines/trampolines_riscv64.S
@@ -9,8 +9,8 @@
.p2align 2 SEP \
MANGLE(UNDERSCORE(name))##: SEP \
li t4, SYMBOL_IDX(idx) SEP \
- auipc t3, %pcrel_hi(NAMEADDR(name)) SEP \
- ld t3, %pcrel_lo(MANGLE(UNDERSCORE(name)))(t3) SEP \
+ la t3, NAMEADDR(name) SEP \
+ ld t3, 0(t3) SEP \
jr t3 SEP \
.cfi_endproc SEP \