Commit 6c78f29a authored by Juergen Lock's avatar Juergen Lock Committed by Andreas Färber
Browse files

cpu-exec: Also reload CPUClass *cc after longjmp return in cpu_exec()



Local variable CPUClass *cc needs to be reloaded after return from longjmp,
too.  (This fixes a mips-softmmu crash observed on FreeBSD when QEMU is
built with clang.)

Reported-by: default avatarDimitry Andric <dim@FreeBSD.org>
Signed-off-by: default avatarJuergen Lock <nox@jelal.kn-bremen.de>
Signed-off-by: default avatarAndreas Färber <afaerber@suse.de>
parent f8e6a11a
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -681,6 +681,10 @@ int cpu_exec(CPUArchState *env)
             * local variables as longjmp is marked 'noreturn'. */
            cpu = current_cpu;
            env = cpu->env_ptr;
#if !(defined(CONFIG_USER_ONLY) && \
      (defined(TARGET_M68K) || defined(TARGET_PPC) || defined(TARGET_S390X)))
            cc = CPU_GET_CLASS(cpu);
#endif
        }
    } /* for(;;) */