When a SIGSEGV signal is raised in user mode emulation the current
test to know whether the signal is sent by the kernel is wrong :
info->si_code == SI_KERNEL
according to /usr/include/bits/siginfo.h it should be
info->si_code > 0
Signed-off-by: Lionel Landwerlin <lionel.landwerlin@openwide.fr>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6151
c046a42c-6fe2-441c-8c8c-
71466251a162
target_siginfo_t tinfo;
/* the CPU emulator uses some host signals to detect exceptions,
- we we forward to it some signals */
+ we forward to it some signals */
if ((host_signum == SIGSEGV || host_signum == SIGBUS)
- && info->si_code == SI_KERNEL) {
+ && info->si_code > 0) {
if (cpu_signal_handler(host_signum, info, puc))
return;
}