gcc 3.x fixes
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Tue, 18 Mar 2003 20:41:34 +0000 (20:41 +0000)
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Tue, 18 Mar 2003 20:41:34 +0000 (20:41 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@33 c046a42c-6fe2-441c-8c8c-71466251a162

Makefile
configure

index 0f0b22d..f922a3e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -7,13 +7,23 @@ DEFINES=-DHAVE_BYTESWAP_H
 
 ifeq ($(ARCH),i386)
 CFLAGS+=-fomit-frame-pointer
-OP_CFLAGS=$(CFLAGS) -malign-functions=0 -mpreferred-stack-boundary=2
+OP_CFLAGS=$(CFLAGS) -mpreferred-stack-boundary=2
+ifeq ($(GCC_MAJOR),3)
+OP_CFLAGS+= -falign-functions=0
+else
+OP_CFLAGS+= -malign-functions=0
+endif
 endif
 
 ifeq ($(ARCH),ppc)
 OP_CFLAGS=$(CFLAGS)
 endif
 
+ifeq ($(GCC_MAJOR),3)
+# very important to generate a return at the end of every operation
+OP_CFLAGS+=-fno-reorder-blocks -fno-optimize-sibling-calls
+endif
+
 #########################################################
 
 DEFINES+=-D_GNU_SOURCE
index 16252c4..62b1e71 100755 (executable)
--- a/configure
+++ b/configure
@@ -13,6 +13,7 @@ fi
 
 TMPC="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}.c"
 TMPO="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}.o"
+TMPE="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}"
 TMPS="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}.S"
 TMPH="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}.h"
 
@@ -142,6 +143,14 @@ fi
 
 fi
 
+# check gcc version
+gcc_major="2"
+gcc_version="$($cc -v 2>&1 | grep version | cut -d ' ' -f3-)"
+case "$gcc_version" in
+3.*) gcc_major="3";
+;;
+esac
+
 if test x"$1" = x"-h" -o x"$1" = x"--help" ; then
 cat << EOF
 
@@ -181,6 +190,7 @@ echo "prefix=$prefix" >> config.mak
 echo "#define CONFIG_GEMU_PREFIX \"$prefix\"" >> $TMPH
 echo "MAKE=$make" >> config.mak
 echo "CC=$cc" >> config.mak
+echo "GCC_MAJOR=$gcc_major" >> config.mak
 echo "HOST_CC=$host_cc" >> config.mak
 echo "AR=$ar" >> config.mak
 echo "STRIP=$strip -s -R .comment -R .note" >> config.mak