* [Qemu-devel] [PATCH v3 1.0] configure: tighten pie toolchain support test for tls variables
@ 2011-11-23 9:24 Avi Kivity
2011-11-23 21:02 ` Brad
2011-11-28 22:36 ` Anthony Liguori
0 siblings, 2 replies; 3+ messages in thread
From: Avi Kivity @ 2011-11-23 9:24 UTC (permalink / raw)
To: Anthony Liguori, qemu-devel; +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 <avi@redhat.com>
---
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
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH v3 1.0] configure: tighten pie toolchain support test for tls variables
2011-11-23 9:24 [Qemu-devel] [PATCH v3 1.0] configure: tighten pie toolchain support test for tls variables Avi Kivity
@ 2011-11-23 21:02 ` Brad
2011-11-28 22:36 ` Anthony Liguori
1 sibling, 0 replies; 3+ messages in thread
From: Brad @ 2011-11-23 21:02 UTC (permalink / raw)
To: Avi Kivity; +Cc: Paolo Bonzini, qemu-devel, Gerd Hoffmann
On 23/11/11 4:24 AM, Avi Kivity wrote:
> 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<avi@redhat.com>
Thanks. Works as expected now.
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH v3 1.0] configure: tighten pie toolchain support test for tls variables
2011-11-23 9:24 [Qemu-devel] [PATCH v3 1.0] configure: tighten pie toolchain support test for tls variables Avi Kivity
2011-11-23 21:02 ` Brad
@ 2011-11-28 22:36 ` Anthony Liguori
1 sibling, 0 replies; 3+ messages in thread
From: Anthony Liguori @ 2011-11-28 22:36 UTC (permalink / raw)
To: Avi Kivity; +Cc: Paolo Bonzini, Brad, qemu-devel, Gerd Hoffmann
On 11/23/2011 03:24 AM, Avi Kivity wrote:
> 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<avi@redhat.com>
Applied. Thanks.
Regards,
Anthony Liguori
> ---
>
> 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"
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-11-28 22:36 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-23 9:24 [Qemu-devel] [PATCH v3 1.0] configure: tighten pie toolchain support test for tls variables Avi Kivity
2011-11-23 21:02 ` Brad
2011-11-28 22:36 ` Anthony Liguori
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).