Revision 129d8aa5 linux-user/main.c

b/linux-user/main.c
2524 2524
            env->lock_addr = -1;
2525 2525
            info.si_signo = TARGET_SIGSEGV;
2526 2526
            info.si_errno = 0;
2527
            info.si_code = (page_get_flags(env->ipr[IPR_EXC_ADDR]) & PAGE_VALID
2527
            info.si_code = (page_get_flags(env->trap_arg0) & PAGE_VALID
2528 2528
                            ? TARGET_SEGV_ACCERR : TARGET_SEGV_MAPERR);
2529
            info._sifields._sigfault._addr = env->ipr[IPR_EXC_ADDR];
2529
            info._sifields._sigfault._addr = env->trap_arg0;
2530 2530
            queue_signal(env, info.si_signo, &info);
2531 2531
            break;
2532 2532
        case EXCP_DTB_MISS_PAL:
......
2550 2550
            info.si_signo = TARGET_SIGBUS;
2551 2551
            info.si_errno = 0;
2552 2552
            info.si_code = TARGET_BUS_ADRALN;
2553
            info._sifields._sigfault._addr = env->ipr[IPR_EXC_ADDR];
2553
            info._sifields._sigfault._addr = env->trap_arg0;
2554 2554
            queue_signal(env, info.si_signo, &info);
2555 2555
            break;
2556 2556
        case EXCP_OPCDEC:

Also available in: Unified diff