mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-27 20:33:54 -06:00
linux-user: Pass si_type information to queue_signal() explicitly
Instead of assuming in queue_signal() that all callers are passing a siginfo structure which uses the _sifields._sigfault part of the union (and thus a si_type of QEMU_SI_FAULT), make callers pass the si_type they require in as an argument. [RV adjusted to apply] Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
This commit is contained in:
parent
8bd3773cce
commit
9d2803f720
4 changed files with 71 additions and 72 deletions
|
@ -10577,7 +10577,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
|||
info.si_code = si_code;
|
||||
info._sifields._sigfault._addr
|
||||
= ((CPUArchState *)cpu_env)->pc;
|
||||
queue_signal((CPUArchState *)cpu_env, info.si_signo, &info);
|
||||
queue_signal((CPUArchState *)cpu_env, info.si_signo,
|
||||
QEMU_SI_FAULT, &info);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -11665,7 +11666,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
|||
info.si_errno = 0;
|
||||
info.si_code = TARGET_SEGV_MAPERR;
|
||||
info._sifields._sigfault._addr = arg6;
|
||||
queue_signal((CPUArchState *)cpu_env, info.si_signo, &info);
|
||||
queue_signal((CPUArchState *)cpu_env, info.si_signo,
|
||||
QEMU_SI_FAULT, &info);
|
||||
ret = 0xdeadbeef;
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue