mirror of https://github.com/xemu-project/xemu.git
util/cpuinfo-riscv: Support OpenBSD signal frame
Reported-by: Brad Smith <brad@comstyle.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Acked-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com> Acked-by: Alistair Francis <alistair.francis@wdc.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
b86c6ba689
commit
adc028428a
|
@ -13,7 +13,14 @@ static void sigill_handler(int signo, siginfo_t *si, void *data)
|
||||||
{
|
{
|
||||||
/* Skip the faulty instruction */
|
/* Skip the faulty instruction */
|
||||||
ucontext_t *uc = (ucontext_t *)data;
|
ucontext_t *uc = (ucontext_t *)data;
|
||||||
|
|
||||||
|
#ifdef __linux__
|
||||||
uc->uc_mcontext.__gregs[REG_PC] += 4;
|
uc->uc_mcontext.__gregs[REG_PC] += 4;
|
||||||
|
#elif defined(__OpenBSD__)
|
||||||
|
uc->sc_sepc += 4;
|
||||||
|
#else
|
||||||
|
# error Unsupported OS
|
||||||
|
#endif
|
||||||
|
|
||||||
got_sigill = 1;
|
got_sigill = 1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue