qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Andreas Färber" <afaerber@suse.de>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org, patches@linaro.org
Subject: Re: [Qemu-devel] [PATCH] configure: Detect when glibc implements makecontext() to always fail
Date: Thu, 13 Oct 2011 16:26:34 +0200	[thread overview]
Message-ID: <4E96F51A.8080200@suse.de> (raw)
In-Reply-To: <1318436475-20691-1-git-send-email-peter.maydell@linaro.org>

Am 12.10.2011 18:21, schrieb Peter Maydell:
> Improve the configure test for presence of ucontext functions by
> making linker warnings fatal; this allows us to detect when we are
> linked with a glibc which implements makecontext() to always return
> ENOSYS.
>
> Signed-off-by: Peter Maydell<peter.maydell@linaro.org>

Tested-by: Andreas Färber <afaerber@suse.de>

> ---
> Compiling on an Ubuntu Natty ARM host will hit this.

Works on Ubuntu Maverick ARM host as well.

> (Anybody think we should clean up our configure tests so we can
> enable -Werror and -Wl,--fatal-warnings on all of them?)

In theory that would be nice. I noticed for example that a missing 
glib2-devel package is not caught by configure, on openSUSE.

As a start for cleaning up...

>   configure |    7 +++++--
>   1 files changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/configure b/configure
> index 9b4fe34..4d9d9e0 100755
> --- a/configure
> +++ b/configure
> @@ -2549,9 +2549,12 @@ ucontext_coroutine=no
>   if test "$darwin" != "yes"; then
>     cat>  $TMPC<<  EOF
>   #include<ucontext.h>
> -int main(void) { makecontext(0, 0, 0); }
> +int main(void) { makecontext(0, 0, 0); return 0; }

...we could give a good example by adopting regular multi-line Coding 
Style, like accept4() and others.

Andreas

>   EOF
> -  if compile_prog "" "" ; then
> +  # Note that we enable fatal linker warnings to catch the
> +  # glibc "makecontext is not implemented and will always fail"
> +  # linker warning.
> +  if compile_prog "-Wl,--fatal-warnings" "" ; then
>         ucontext_coroutine=yes
>     fi
>   fi


-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746, AG Nürnberg

  reply	other threads:[~2011-10-13 14:26 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-12 16:21 [Qemu-devel] [PATCH] configure: Detect when glibc implements makecontext() to always fail Peter Maydell
2011-10-13 14:26 ` Andreas Färber [this message]
2011-10-13 22:23   ` Andreas Färber
2011-10-14 12:30     ` Peter Maydell
2011-10-14 12:47       ` Paolo Bonzini
2011-10-14 12:55         ` Paolo Bonzini
2011-10-14 13:01           ` Peter Maydell
  -- strict thread matches above, loose matches on Subject: below --
2012-02-23 16:16 Peter Maydell
2012-02-23 16:19 ` Peter Maydell

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=4E96F51A.8080200@suse.de \
    --to=afaerber@suse.de \
    --cc=patches@linaro.org \
    --cc=peter.maydell@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).