qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: [PATCH 2/3] kvm-userspace: kvmppc: fix hostlonbits dete


From: Hollis Blanchard
Subject: [Qemu-devel] Re: [PATCH 2/3] kvm-userspace: kvmppc: fix hostlonbits detection when cross compiling v2
Date: Tue, 30 Sep 2008 09:13:59 -0500

On Tue, 2008-09-30 at 11:10 +0200, address@hidden wrote:
> diff --git a/qemu/configure b/qemu/configure
> --- a/qemu/configure
> +++ b/qemu/configure
> @@ -685,14 +685,15 @@
>  # ppc specific hostlongbits selection
>  if test "$cpu" = "powerpc" ; then
>      cat > $TMPC <<EOF
> -int main(void){return sizeof(long);}
> +#include <bits/wordsize.h>
> +__WORDSIZE
>  EOF
> 
> -    if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null; then
> -        $TMPE
> -        case $? in
> -            4) hostlongbits="32";;
> -            8) hostlongbits="64";;
> +    if $cc $ARCH_CFLAGS $CFLAGS -E -o $TMPE.E $TMPC 2> /dev/null; then
> +        wordsize=`tail -n 1 ${TMPE}.E`
> +        case $wordsize in
> +            32) hostlongbits="32";;
> +            64) hostlongbits="64";;
>              *) echo "Couldn't determine bits per long value"; exit 1;;
>          esac
>      else

Yeah, trying to execute target-specific code is simply incompatible with
cross-compiling, so clearly this needs to be changed.

<bits/wordsize.h> might be too Linux-specific, not sure. Also, I worry
about the preprocessor being allowed to insert all the whitespace it
wants, so I'm not sure if you can assume that __WORDSIZE will be on the
last output line.

Instead you could use this:
        $cc -E -dM - < /dev/null | grep __powerpc64__

-- 
Hollis Blanchard
IBM Linux Technology Center





reply via email to

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