From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1GwVBn-0006mj-Db for qemu-devel@nongnu.org; Mon, 18 Dec 2006 21:58:47 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1GwVBm-0006lw-Uj for qemu-devel@nongnu.org; Mon, 18 Dec 2006 21:58:47 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GwVBm-0006lo-Rc for qemu-devel@nongnu.org; Mon, 18 Dec 2006 21:58:46 -0500 Received: from [128.83.139.10] (helo=mail.cs.utexas.edu) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA:32) (Exim 4.52) id 1GwVBm-0001pD-QP for qemu-devel@nongnu.org; Mon, 18 Dec 2006 21:58:47 -0500 Message-ID: <45875558.7020501@cs.utexas.edu> Date: Mon, 18 Dec 2006 20:58:32 -0600 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH] Improve gcc 3 checking References: <45874D81.1090508@cs.utexas.edu> <200612190231.08331.paul@codesourcery.com> In-Reply-To: <200612190231.08331.paul@codesourcery.com> Content-Type: multipart/mixed; boundary="------------080001010107020606060305" Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, Paul Brook This is a multi-part message in MIME format. --------------080001010107020606060305 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Paul Brook wrote: > On Tuesday 19 December 2006 02:25, Anthony Liguori wrote: > >> +gcc3_list="gcc32 gcc33 gcc34 gcc-3.2 gcc-3.3 gcc-3.4" >> > > Shouldn't we be preferring newer compilers? > Attached patch changes order plus improves the initial GCC 4 check a bit. >> + echo "Looking for gcc 3.x" >> > > We shouldn't do this if if the user explicitly specified a compiler. > Replacing explicit user setting with guesses is bad. > This stuff kicks in only if the user doesn't specific --disable-gcc-check and CC is not GCC 4. So if the user specific a valid --cc=, then this check won't get triggered. If they explicitly specific an invalid --cc=, the checks will get triggered (but in the past, we would have bailed). So, if the user wants to explicitly specify a compiler, they can happily do that. Regards, Anthony Liguori > Paul > > > _______________________________________________ > Qemu-devel mailing list > Qemu-devel@nongnu.org > http://lists.nongnu.org/mailman/listinfo/qemu-devel > --------------080001010107020606060305 Content-Type: text/x-patch; name="qemu-gcc-3x.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="qemu-gcc-3x.diff" diff -r f928121a13c1 configure --- a/configure Mon Dec 18 20:29:34 2006 -0600 +++ b/configure Mon Dec 18 20:54:20 2006 -0600 @@ -22,6 +22,7 @@ static="no" static="no" cross_prefix="" cc="gcc" +gcc3_list="gcc-3.4 gcc34 gcc-3.3 gcc33 gcc-3.2 gcc32" host_cc="gcc" ar="ar" make="make" @@ -311,6 +312,41 @@ if test "$mingw32" = "yes" ; then oss="no" if [ "$cpu" = "i386" ] ; then kqemu="yes" + fi +fi + +# Check for gcc4, error if pre-gcc4 +if test "$check_gcc" = "yes" ; then + cat > $TMPC <&/dev/null + return $? + } + + if "$cc" -o $TMPE $TMPC 2>/dev/null ; then + echo "WARNING: \"$cc\" looks like gcc 4.x" + echo "Looking for gcc 3.x" + found_compat_cc="no" + for compat_cc in $gcc3_list ; do + if check_cc "$compat_cc" ; then + echo "Found \"$compat_cc\"" + cc="$compat_cc" + found_compat_cc="yes" + break + fi + done + if test "$found_compat_cc" = "no" ; then + echo "gcc 3.x not found!" + echo "QEMU is known to have problems when compiled with gcc 4.x" + echo "It is recommended that you use gcc 3.x to build QEMU" + echo "To use this compiler anyway, configure with --disable-gcc-check" + exit 1; + fi fi fi @@ -414,23 +450,6 @@ have_gcc3_options="no" have_gcc3_options="no" if $cc -fno-reorder-blocks -fno-optimize-sibling-calls -o $TMPO $TMPC 2> /dev/null ; then have_gcc3_options="yes" -fi - -# Check for gcc4, error if pre-gcc4 -if test "$check_gcc" = "yes" ; then - cat > $TMPC </dev/null ; then - echo "ERROR: \"$cc\" looks like gcc 4.x" - echo "QEMU is known to have problems when compiled with gcc 4.x" - echo "It is recommended that you use gcc 3.x to build QEMU" - echo "To use this compiler anyway, configure with --disable-gcc-check" - exit 1; - fi fi ########################################## --------------080001010107020606060305--