qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: [PATCHv2] configure: verify stdio.h


From: Michael S. Tsirkin
Subject: [Qemu-devel] Re: [PATCHv2] configure: verify stdio.h
Date: Wed, 27 Jan 2010 11:13:42 +0200
User-agent: Mutt/1.5.19 (2009-01-05)

On Tue, Jan 26, 2010 at 10:44:44PM +0100, Stefan Weil wrote:
> Michael S. Tsirkin schrieb:
> > Verify that stdio.h supports %lld %zd.
> > Some migw variants don't unless requested explicitly (see
> 
> migw -> mingw
> 
> I don't know any ming32 variant which supports %lld, %zd.
> There is a new mingw-w64 were people are addressing the
> problem, 

Did you try with -D__USE_MINGW_ANSI_STDIO=1 ?
This is what the link below mentions.

> but that variant is unsupported by qemu.

What are the issues?

> 
> > http://www.mail-archive.com/address@hidden/msg00417.html)
> > ), detect them early.
> >
> > Signed-off-by: Michael S. Tsirkin <address@hidden>
> > Acked-by: Juan Quintela <address@hidden>
> >
> > ---
> >
> > changes from v1:
> > removed leftover chunk
> >
> > configure | 20 ++++++++++++++++++++
> > 1 files changed, 20 insertions(+), 0 deletions(-)
> >
> > diff --git a/configure b/configure
> > index 5631bbb..6ba06d6 100755
> > --- a/configure
> > +++ b/configure
> > @@ -123,6 +123,26 @@ else
> > exit 1
> > fi
> >
> > +# Check that stdio.h compiler is sane: some
> > +# mingw variants do not support %z %l that we rely on
> > +cat > $TMPC <<EOF
> > +#include <stddef.h>
> > +#include <stdio.h>
> > +size_t z = 1;
> > +long long ll = 2;
> > +int main(void) {
> > + printf("z=%zd;ll=%lld;\n", z, ll);
> > + return 0;
> > +}
> > +EOF
> > +
> > +if compile_prog && ($TMPE | grep "z=1;ll=2;" > /dev/null); then
> > + : C compiler works ok
> > +else
> > + echo "ERROR: \"$cc\" does not have a working stdio.h"
> > + exit 1
> > +fi
> > +
> > check_define() {
> > cat > $TMPC <<EOF
> > #if !defined($1)
> 
> 
> Tests of %lld must use a 64 bit pattern (ll = 0x0123456789abcdefLL).
> Otherwise, %lld, %ld and %d with ll = 1 will all print 1 on little endian
> machines, and the %lld test won't detect missing support.
> 
> The problem is now several years old, it can be avoided for really
> important output, so it seems acceptable to wait another period
> of time until a working mingw is supported by qemu.
> 
> A test which prevents qemu builds on windows with current mingw32
> or cross builds with current debian cross mingw32 would not help.
> Both variants work for me even without full format support.
> 
> Regards,
> Stefan Weil




reply via email to

[Prev in Thread] Current Thread [Next in Thread]