From ca735206e0f223d75894260fb98c0c605f590817 Mon Sep 17 00:00:00 2001 From: bellard Date: Tue, 18 Mar 2003 20:41:34 +0000 Subject: [PATCH] gcc 3.x fixes git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@33 c046a42c-6fe2-441c-8c8c-71466251a162 --- Makefile | 12 +++++++++++- configure | 10 ++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 0f0b22db72..f922a3ea3c 100644 --- 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 diff --git a/configure b/configure index 16252c4dce..62b1e71222 100755 --- 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