On Tue, 2008-09-30 at 11:10 +0200, [EMAIL PROTECTED] 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

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to