Vincent
Vincent
It seems there is two separate issues in fact: - on both risc32 and risc64, the "jump" instructions seem to be performed correctly but gdb seems to do two steps...
The issue seems related to `sw` on the risc32 machines: on function entry, `ra` is stored on the stack using `sw ra, 12(sp)` but the memory doesn't seem correctly modified,...
Now that I understand a bit better riscv, I'll try to reproduce the issue without gdb to confirm your idea. I'll let you know
I wrote a minimal code that basically just dump info from Machine CSR registers. I works in 32 bit mode (sifive_u) but not in 32 bit mode (sifive_e) with the...
I'll have a look thanks ! It looks like a lot like the small code I wrote to understand all the machine registers :)
I didn't try to resolve it, since we were only working with 64 bit archs. In such case, gdb display is funky (it might skip steps) but the behavior was...
Sorry, I no longer have access to these files (former job)... But I didn't have anything clever in it anyway
Might have been that indeed !
Will ask again !
Original author is @fylux . Created on his behalf.