OSDN Git Service

sh4: fix use_icount with linux-user
authorLaurent Vivier <laurent@vivier.eu>
Sat, 11 Aug 2018 08:23:28 +0000 (10:23 +0200)
committerLaurent Vivier <laurent@vivier.eu>
Sun, 19 Aug 2018 22:11:06 +0000 (00:11 +0200)
commit5b38d0264064055255db991e29d938491f9e8a32
tree17242346059d6ef5b3e7036c7170af57b05232cf
parent3e23de15237c81fe7af7c3ffa299a6ae5fec7d43
sh4: fix use_icount with linux-user

This fixes java in a linux-user chroot:
  $ java --version
  qemu-sh4: .../accel/tcg/cpu-exec.c:634: cpu_loop_exec_tb: Assertion `use_icount' failed.
  qemu: uncaught target signal 6 (Aborted) - core dumped
  Aborted (core dumped)

In gen_conditional_jump() in the GUSA_EXCLUSIVE part, we must reset
base.is_jmp to DISAS_NEXT after the gen_goto_tb() as it is done in
gen_delayed_conditional_jump() after the gen_jump().

Bug: https://bugs.launchpad.net/qemu/+bug/1768246
Fixes: 4834871bc95b67343248100e2a75ae0d287bc08b
       ("target/sh4: Convert to DisasJumpType")
Reported-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>
Message-Id: <20180811082328.11268-1-laurent@vivier.eu>
target/sh4/translate.c