From: "Emilio G. Cota" <cota@braap.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>, Fam Zheng <famz@redhat.com>,
QEMU Developers <qemu-devel@nongnu.org>,
Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 1/8] tls: require compiler support for __thread
Date: Tue, 28 Apr 2015 17:04:57 -0400 [thread overview]
Message-ID: <20150428210457.GA12653@flamenco> (raw)
In-Reply-To: <CAFEAcA-SsN5NvHqX5LAgMdcyytnQfxsu3qo1WTUQdqGQFTr8qQ@mail.gmail.com>
On Tue, Jan 13, 2015 at 22:07:19 +0000, Peter Maydell wrote:
> On 13 January 2015 at 20:27, Paolo Bonzini <pbonzini@redhat.com> wrote:
> > On 13/01/2015 21:00, Peter Maydell wrote:
> >> Hmm. That's a chunk of users who are now going to have to
> >> change the way they've been building QEMU. Does configure
> >> at least blow up on the old gcc, or will we just silently
> >> build a non-working QEMU?
> >
> > At least the build, if not configure, should blow up.
>
> Yeah, it does:
> qemu-coroutine.c:29: error: thread-local storage not supported for this target
> (that's gcc 4.2.1 20070719 on OpenBSD 5.5.)
>
> As a new requirement it might be polite to make configure
> insist on it rather than failing the build later, maybe.
Just noticed that this patch was eventually dropped.
Would the appended be the missing piece to have this patch finally merged?
Thanks,
Emilio
commit ad45e590025c1197a7aef5164e1ae174894b0969
Author: Emilio G. Cota <cota@braap.org>
Date: Tue Apr 28 16:54:44 2015 -0400
configure: require __thread support
The codebase doesn't build without __thread support.
Formalise this requirement by adding a check for it in the
configure script.
Signed-off-by: Emilio G. Cota <cota@braap.org>
diff --git a/configure b/configure
index 6969f6f..3d6591f 100755
--- a/configure
+++ b/configure
@@ -1549,6 +1549,17 @@ if test "$static" = "yes" ; then
fi
fi
+# Unconditional check for compiler __thread support
+ cat > $TMPC << EOF
+static __thread int tls_var;
+int main(void) { return tls_var; }
+EOF
+
+if ! compile_prog "-Werror" "" ; then
+ error_exit "Your compiler does not support the __thread specifier for " \
+ "Thread-Local Storage (TLS). Please upgrade to a version that does."
+fi
+
if test "$pie" = ""; then
case "$cpu-$targetos" in
i386-Linux|x86_64-Linux|x32-Linux|i386-OpenBSD|x86_64-OpenBSD)
next prev parent reply other threads:[~2015-04-28 21:04 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-13 17:52 [Qemu-devel] [PATCH 0/8] RCUification of the memory API, part 1 Paolo Bonzini
2015-01-13 17:52 ` [Qemu-devel] [PATCH 1/8] tls: require compiler support for __thread Paolo Bonzini
2015-01-13 18:40 ` Peter Maydell
2015-01-13 19:48 ` Paolo Bonzini
2015-01-13 20:00 ` Peter Maydell
2015-01-13 20:27 ` Paolo Bonzini
2015-01-13 22:07 ` Peter Maydell
2015-04-28 21:04 ` Emilio G. Cota [this message]
2015-04-29 11:09 ` Paolo Bonzini
2015-01-13 17:52 ` [Qemu-devel] [PATCH 2/8] rcu: add rcu library Paolo Bonzini
2015-01-15 10:39 ` Fam Zheng
2015-01-15 11:08 ` Paolo Bonzini
2015-01-13 17:52 ` [Qemu-devel] [PATCH 3/8] rcu: add rcutorture Paolo Bonzini
2015-01-16 2:04 ` Fam Zheng
2015-01-16 11:22 ` Paolo Bonzini
2015-01-13 17:52 ` [Qemu-devel] [PATCH 4/8] rcu: allow nesting of rcu_read_lock/rcu_read_unlock Paolo Bonzini
2015-01-13 17:52 ` [Qemu-devel] [PATCH 5/8] rcu: add call_rcu Paolo Bonzini
2015-01-13 17:52 ` [Qemu-devel] [PATCH 6/8] memory: remove assertion on memory_region_destroy Paolo Bonzini
2015-01-13 17:52 ` [Qemu-devel] [PATCH 7/8] memory: protect current_map by RCU Paolo Bonzini
2015-01-13 17:52 ` [Qemu-devel] [PATCH 8/8] memory: avoid ref/unref in memory_region_find Paolo Bonzini
2015-01-16 13:04 ` [Qemu-devel] [PATCH 0/8] RCUification of the memory API, part 1 Christian Borntraeger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150428210457.GA12653@flamenco \
--to=cota@braap.org \
--cc=famz@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).