On 28/11/2025 03:19, Harald van Dijk wrote:
> trans_BRA does
> 
>     gen_a64_set_pc(s, dst);
>     set_btype_for_br(s, a->rn);
> 
> gen_a64_set_pc does
> 
>     s->pc_save = -1;
> 
> set_btype_for_br (if aa64_bti is enabled and the register is not x16 or
> x17) does
> 
>     gen_pc_plus_diff(s, pc, 0);
> 
> gen_pc_plus_diff does
> 
>     assert(s->pc_save != -1);
> 
> Hence, this assert is getting hit. We need to call set_btype_for_br
> before gen_a64_set_pc, and there is nothing in set_btype_for_br that
> depends on gen_a64_set_pc having already been called, so this commit
> simply swaps the calls.
> ---
>  target/arm/tcg/translate-a64.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
Oops, I forgot the sign-off. Will re-send, apologies for the noise.

Cheers,
Harald van Dijk

Reply via email to