tcg: Reload local variables after return from longjmp
authorJan Kiszka <jan.kiszka@siemens.com>
Sat, 2 Jul 2011 07:50:51 +0000 (09:50 +0200)
committerBlue Swirl <blauwirbel@gmail.com>
Tue, 12 Jul 2011 20:53:28 +0000 (20:53 +0000)
commit0d10193870b5a81c3bce13a602a5403c3a55cf6c
tree8e4aa763a342692fe71a115639e67ab64c33bb0d
parent5b620fb698e69a5386f2f02c7c455bdbdd59a52b
tcg: Reload local variables after return from longjmp

Recent compilers look deep into cpu_exec, find longjmp as a noreturn
function and decide to smash some stack variables as they won't be used
again. This may lead to env becoming invalid after return from setjmp,
causing crashes. Fix it by reloading env from cpu_single_env in that
case.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
cpu-exec.c