From: Peter Maydell <peter.maydell@linaro.org>
To: qemu-devel@nongnu.org
Cc: patches@linaro.org
Subject: [Qemu-devel] [PATCH] configure: Check whether makecontext() is a glibc stub function
Date: Thu, 23 Feb 2012 16:20:05 +0000 [thread overview]
Message-ID: <1330014005-25831-1-git-send-email-peter.maydell@linaro.org> (raw)
On some systems (notably ARM Linux) glibc provides implementations
of makecontext(), getcontext() and friends which are stubs which
always return failure. Make the configure test for makecontext()
also check for the presence of the __stub_makecontext macro which
indicates the presence of these stubs, so we can avoid trying to use
them and fall back to a different coroutine implementation instead.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
I think this fixes the last of the bugs which meant we had to declare
ARM hosts as officially unsupported in QEMU 1.0...
configure | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/configure b/configure
index 037f7f7..9fbf88a 100755
--- a/configure
+++ b/configure
@@ -2712,11 +2712,15 @@ fi
##########################################
# check if we have makecontext
+# (and that it's not a glibc stub which always returns -1)
ucontext_coroutine=no
if test "$darwin" != "yes"; then
cat > $TMPC << EOF
#include <ucontext.h>
+#ifdef __stub_makecontext
+#error Ignoring glibc stub makecontext which will always fail
+#endif
int main(void) { makecontext(0, 0, 0); return 0; }
EOF
if compile_prog "" "" ; then
--
1.7.1
next reply other threads:[~2012-02-23 16:20 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-23 16:20 Peter Maydell [this message]
2012-02-24 19:47 ` [Qemu-devel] [PATCH] configure: Check whether makecontext() is a glibc stub function Anthony Liguori
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=1330014005-25831-1-git-send-email-peter.maydell@linaro.org \
--to=peter.maydell@linaro.org \
--cc=patches@linaro.org \
--cc=qemu-devel@nongnu.org \
/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).