[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] tcg: Reload local variables after return from l
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH] tcg: Reload local variables after return from longjmp |
Date: |
Thu, 11 Aug 2011 12:30:42 +0100 |
On 2 July 2011 08:50, Jan Kiszka <address@hidden> wrote:
> From: Jan Kiszka <address@hidden>
>
> 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.
Can you give more details of what compiler/platform this was
a problem for? My reading of the C standard is that the compiler
isn't allowed to trash env across this longjmp, because it's
a variable of automatic scope which isn't modified between the
setjmp and the longjmp...
(We've been looking at this because reloading from cpu_single_env is
the wrong fix in the case of user-mode where there are multiple-threads.)
Thanks
-- PMM
- Re: [Qemu-devel] [PATCH] tcg: Reload local variables after return from longjmp,
Peter Maydell <=
- Re: [Qemu-devel] [PATCH] tcg: Reload local variables after return from longjmp, Paolo Bonzini, 2011/08/11
- Re: [Qemu-devel] [PATCH] tcg: Reload local variables after return from longjmp, Peter Maydell, 2011/08/11
- Re: [Qemu-devel] [PATCH] tcg: Reload local variables after return from longjmp, Paolo Bonzini, 2011/08/11
- Re: [Qemu-devel] [PATCH] tcg: Reload local variables after return from longjmp, Peter Maydell, 2011/08/11
- Re: [Qemu-devel] [PATCH] tcg: Reload local variables after return from longjmp, Paolo Bonzini, 2011/08/11
- Re: [Qemu-devel] [PATCH] tcg: Reload local variables after return from longjmp, David Gilbert, 2011/08/11
- Re: [Qemu-devel] [PATCH] tcg: Reload local variables after return from longjmp, Peter Maydell, 2011/08/11
- Re: [Qemu-devel] [PATCH] tcg: Reload local variables after return from longjmp, Paolo Bonzini, 2011/08/11