Revision 2ea5a2ca linux-user/main.c

b/linux-user/main.c
953 953
            goto finish;
954 954
        }
955 955
    }
956
    val = env->xregs[rt];
956
    /* handle the zero register */
957
    val = rt == 31 ? 0 : env->xregs[rt];
957 958
    switch (size) {
958 959
    case 0:
959 960
        segv = put_user_u8(val, addr);
......
972 973
        goto error;
973 974
    }
974 975
    if (is_pair) {
975
        val = env->xregs[rt2];
976
        /* handle the zero register */
977
        val = rt2 == 31 ? 0 : env->xregs[rt2];
976 978
        if (size == 2) {
977 979
            segv = put_user_u32(val, addr + 4);
978 980
        } else {

Also available in: Unified diff