Richard Henderson <richard.hender...@linaro.org> 于2024年6月21日周五 12:21写道: > > On 6/20/24 16:46, YunQiang Su wrote: > > @@ -4553,7 +4559,7 @@ static void gen_trap(DisasContext *ctx, uint32_t opc, > > if (ctx->hflags != ctx->saved_hflags) { > > tcg_gen_movi_i32(hflags, ctx->hflags); > > } > > - generate_exception(ctx, EXCP_TRAP); > > + generate_exception_with_code(ctx, EXCP_TRAP, code); > > gen_set_label(l1); > > } > > } > > There are two instances within gen_trap, one of which *does* store into > error_code, but > that gets overwritten by do_raise_exception_err. >
Ohh, yes. There is another `generate_exception_end` if cond == 0. > Search for EXCP_TRAP. > > > r~