From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:38881) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RT94K-0000Xb-Mr for qemu-devel@nongnu.org; Wed, 23 Nov 2011 04:24:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RT94J-0004hf-6f for qemu-devel@nongnu.org; Wed, 23 Nov 2011 04:24:40 -0500 Received: from mx1.redhat.com ([209.132.183.28]:38081) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RT94I-0004hT-W0 for qemu-devel@nongnu.org; Wed, 23 Nov 2011 04:24:39 -0500 From: Avi Kivity Date: Wed, 23 Nov 2011 11:24:25 +0200 Message-Id: <1322040265-14530-1-git-send-email-avi@redhat.com> Subject: [Qemu-devel] [PATCH v3 1.0] configure: tighten pie toolchain support test for tls variables List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori , qemu-devel@nongnu.org Cc: Paolo Bonzini , Gerd Hoffmann , Brad Some toolchains don't support pie properly when tls variables are in use. Disallow pie when such toolchains are detected. Signed-off-by: Avi Kivity --- v3: only check __thread on Linux, where we require it, and where the toolchain fails v2: give tls_var a type; avoids invisible warning configure | 12 +++++++++++- 1 files changed, 11 insertions(+), 1 deletions(-) diff --git a/configure b/configure index 75e1f10..1a2c55f 100755 --- a/configure +++ b/configure @@ -1120,7 +1120,17 @@ fi if test "$pie" != "no" ; then cat > $TMPC << EOF -int main(void) { return 0; } + +#ifdef __linux__ +# define THREAD __thread +#else +# define THREAD +#endif + +static THREAD int tls_var; + +int main(void) { return tls_var; } + EOF if compile_prog "-fPIE -DPIE" "-pie"; then QEMU_CFLAGS="-fPIE -DPIE $QEMU_CFLAGS" -- 1.7.7.1