qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] qemu-coroutine.c: error: thread-local storage not suppo


From: Paolo Bonzini
Subject: Re: [Qemu-devel] qemu-coroutine.c: error: thread-local storage not supported for this target
Date: Sat, 24 Jan 2015 19:54:24 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0


On 23/01/2015 23:54, Programmingkid wrote:
>> Sorry, I was wrong.  I missed that you are using 10.6.x.
>> 
>> Thread-local storage was introduced on Mac OS X in 10.7.  For
>> 10.6.x you'll have to compile GCC 4.3 or newer yourself (or take it
>> from fink/homebrew/whatever the Mac folks use these days).
> 
> The code that causes this problem needs to be #ifdef'ed. I'm just not
> sure what the problem code is.

Thread-local storage will become more and more fundamental as QEMU makes
more use of threads.  Another use of __thread will be committed in a
matter of weeks; __thread is simpler and potentially faster than pthread
TLS.

A possible alternative would be to enable QEMU to compile with a C++
compiler and use Boost's thread-local storage module.  Using #ifdef
makes code ugly for no reason, and is not an acceptable alternative.

Note that GCC 4.3 was released almost seven years ago; we've been
requiring it on Windows for three years (commit 00dccaf, coroutine:
introduce coroutines, 2011-01-17), and no one has ever complained.

Apple is not providing it for Mac OS X 10.6.x only because of political
reasons.  Complain to them, not to the QEMU project.

Paolo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]