These patches add enough of the TLS abstraction layer to allow us to make cpu_single_env thread-local on Linux systems. This fixes the regression described in bug 823902 for the 1.0 release; we can add the Win32 and POSIX implementations later.
I haven't included Paolo's "Prepare Windows port for thread-local cpu_single_env" patch -- it would be safe to do so but it isn't necessary until we actually implement TLS for Win32. Changes v1->v2: * fix Paolo's email address * split the darwin-user change out into a separate patch * drop the 'tls_' prefix from the cpu_single_env tls var name Changes v2->v3: * minor rearrangement of copyright notice in comment * added a missing Signed-off-by * fixed the name of the multiple-include-guard #define Paolo Bonzini (2): darwin-user/main.c: Drop unused cpu_single_env definition Make cpu_single_env thread-local Peter Maydell (1): qemu-tls.h: Add abstraction layer for TLS variables cpu-all.h | 4 +++- darwin-user/main.c | 2 -- exec.c | 2 +- qemu-tls.h | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 56 insertions(+), 4 deletions(-) create mode 100644 qemu-tls.h