diff --git a/Python/perf_jit_trampoline.c b/Python/perf_jit_trampoline.c index 0a8945958b4b3c..6e30ed2865826c 100644 --- a/Python/perf_jit_trampoline.c +++ b/Python/perf_jit_trampoline.c @@ -371,6 +371,9 @@ enum { #elif defined(__aarch64__) && defined(__AARCH64EL__) && !defined(__ILP32__) DWRF_REG_SP = 31, DWRF_REG_RA = 30, +#elif defined(__riscv) + DWRF_REG_RA = 1, + DWRF_REG_SP = 2, #else # error "Unsupported target architecture" #endif @@ -477,7 +480,7 @@ elf_init_ehframe(ELFObjectContext* ctx) DWRF_U8(DWRF_CFA_advance_loc | 6); DWRF_U8(DWRF_CFA_def_cfa_offset); DWRF_UV(8); /* Extra registers saved for JIT-compiled code. */ -#elif defined(__aarch64__) && defined(__AARCH64EL__) && !defined(__ILP32__) +#elif (defined(__aarch64__) && defined(__AARCH64EL__) && !defined(__ILP32__)) || defined(__riscv) DWRF_U8(DWRF_CFA_advance_loc | 1); DWRF_U8(DWRF_CFA_def_cfa_offset); DWRF_UV(16); DWRF_U8(DWRF_CFA_offset | 29); DWRF_UV(2);