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: Stefan Weil
Subject: [Qemu-devel] Re: [PATCHv2] configure: verify stdio.h
Date: Tue, 26 Jan 2010 22:44:44 +0100
User-agent: Mozilla-Thunderbird 2.0.0.22 (X11/20090707)

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, but that variant is unsupported by qemu.


> 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]