]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
Avoid (some) ppc cross-compilation problems
authormalc <malc@c046a42c-6fe2-441c-8c8c-71466251a162>
Tue, 30 Sep 2008 19:44:32 +0000 (19:44 +0000)
committermalc <malc@c046a42c-6fe2-441c-8c8c-71466251a162>
Tue, 30 Sep 2008 19:44:32 +0000 (19:44 +0000)
[..snip..]

A recent kvm merge with qemu brought code for 64bit power that broke cross
compilation. The issue is caused by configure trying to execute target
architecture binaries where configure is executed.

[..snip..]

The patch is based on Hollis's Blanchard idea.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5364 c046a42c-6fe2-441c-8c8c-71466251a162

configure

index 3859bc6c1d307bd200d6f7da7e748e0ffb07f478..a224e6a6b64bb28269b7cde15bb55ebeca44e6d9 100755 (executable)
--- a/configure
+++ b/configure
@@ -15,6 +15,7 @@ TMPC="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.c"
 TMPO="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.o"
 TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}"
 TMPS="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.S"
+TMPI="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.i"
 
 # default parameters
 prefix=""
@@ -673,17 +674,8 @@ fi
 
 # ppc specific hostlongbits selection
 if test "$cpu" = "powerpc" ; then
-    cat > $TMPC <<EOF
-int main(void){return sizeof(long);}
-EOF
-
-    if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null; then
-        $TMPE
-        case $? in
-            4) hostlongbits="32";;
-            8) hostlongbits="64";;
-            *) echo "Couldn't determine bits per long value"; exit 1;;
-        esac
+    if $cc $ARCH_CFLAGS -dM -E - -o $TMPI 2>/dev/null </dev/null; then
+        grep -q __powerpc64__ $TMPI && hostlongbits=64
     else
         echo hostlongbits test failed
         exit 1
@@ -1604,4 +1596,4 @@ if test "$source_path_used" = "yes" ; then
     done
 fi
 
-rm -f $TMPO $TMPC $TMPE $TMPS
+rm -f $TMPO $TMPC $TMPE $TMPS $TMPI