From mboxrd@z Thu Jan 1 00:00:00 1970 From: ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org Subject: [PATCH 2/3] kvm-userspace: kvmppc: fix hostlonbits detection when cross compiling Date: Tue, 16 Sep 2008 10:48:33 +0200 Message-ID: <1221554914-29751-3-git-send-email-ehrhardt@linux.vnet.ibm.com> References: <1221554914-29751-1-git-send-email-ehrhardt@linux.vnet.ibm.com> Cc: hollisb-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org, ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org To: kvm-ppc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Return-path: In-Reply-To: <1221554914-29751-1-git-send-email-ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org> Sender: kvm-ppc-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: kvm.vger.kernel.org From: Christian Ehrhardt The 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. I tried to change that detection so that it works with&without cross compilation with only a small change and especially without an addtional configure command line switch. Including the bits/wordsize.h header a platform usually can check its wordsize and by doing that configure can check the hostlongbits without executing the binary. Instead it now stops after preprocessing stage which resolved the __WORDSIZE constant and retrieves that value. I don't like that check style, but it is at least less broken than before. Comments and other approaches welcome. Signed-off-by: Christian Ehrhardt --- [diffstat] configure | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) [diff] 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 < +__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 -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 -- To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html