1 #if defined __riscv_float_abi_soft 2 #define RISCV_FP_SUFFIX "-sf" 3 #elif defined __riscv_float_abi_single 4 #define RISCV_FP_SUFFIX "-sp" 5 #elif defined __riscv_float_abi_double 6 #define RISCV_FP_SUFFIX "" 7 #endif 8 9 #define LDSO_ARCH "riscv64" RISCV_FP_SUFFIX 10 11 #define TPOFF_K 0 12 13 #define REL_SYMBOLIC R_RISCV_64 14 #define REL_PLT R_RISCV_JUMP_SLOT 15 #define REL_RELATIVE R_RISCV_RELATIVE 16 #define REL_COPY R_RISCV_COPY 17 #define REL_DTPMOD R_RISCV_TLS_DTPMOD64 18 #define REL_DTPOFF R_RISCV_TLS_DTPREL64 19 #define REL_TPOFF R_RISCV_TLS_TPREL64 20 21 #define CRTJMP(pc,sp) __asm__ __volatile__( \ 22 "mv sp, %1 ; jr %0" : : "r"(pc), "r"(sp) : "memory" ) 23