Revision ce62e5ba target-mips/translate.c

b/target-mips/translate.c
5882 5882
            generate_exception(ctx, EXCP_SYSCALL);
5883 5883
            break;
5884 5884
        case OPC_BREAK:
5885
            /* XXX: Hack to work around wrong handling of self-modifying code. */
5886
            ctx->pc += 4;
5887
            save_cpu_state(ctx, 1);
5888
            ctx->pc -= 4;
5889 5885
            generate_exception(ctx, EXCP_BREAK);
5890 5886
            break;
5891 5887
        case OPC_SPIM:
......
6433 6429
                    save_cpu_state(&ctx, 1);
6434 6430
                    ctx.bstate = BS_BRANCH;
6435 6431
                    gen_op_debug();
6432
                    /* Include the breakpoint location or the tb won't
6433
                     * be flushed when it must be.  */
6434
                    ctx.pc += 4;
6436 6435
                    goto done_generating;
6437 6436
                }
6438 6437
            }
......
6493 6492
        lj++;
6494 6493
        while (lj <= j)
6495 6494
            gen_opc_instr_start[lj++] = 0;
6496
        tb->size = 0;
6497 6495
    } else {
6498 6496
        tb->size = ctx.pc - pc_start;
6499 6497
    }

Also available in: Unified diff