Commit ca735206e0f223d75894260fb98c0c605f590817

Authored by bellard
1 parent 5dd9488c

gcc 3.x fixes


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@33 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 2 changed files with 21 additions and 1 deletions
Makefile
... ... @@ -7,13 +7,23 @@ DEFINES=-DHAVE_BYTESWAP_H
7 7  
8 8 ifeq ($(ARCH),i386)
9 9 CFLAGS+=-fomit-frame-pointer
10   -OP_CFLAGS=$(CFLAGS) -malign-functions=0 -mpreferred-stack-boundary=2
  10 +OP_CFLAGS=$(CFLAGS) -mpreferred-stack-boundary=2
  11 +ifeq ($(GCC_MAJOR),3)
  12 +OP_CFLAGS+= -falign-functions=0
  13 +else
  14 +OP_CFLAGS+= -malign-functions=0
  15 +endif
11 16 endif
12 17  
13 18 ifeq ($(ARCH),ppc)
14 19 OP_CFLAGS=$(CFLAGS)
15 20 endif
16 21  
  22 +ifeq ($(GCC_MAJOR),3)
  23 +# very important to generate a return at the end of every operation
  24 +OP_CFLAGS+=-fno-reorder-blocks -fno-optimize-sibling-calls
  25 +endif
  26 +
17 27 #########################################################
18 28  
19 29 DEFINES+=-D_GNU_SOURCE
... ...
configure
... ... @@ -13,6 +13,7 @@ fi
13 13  
14 14 TMPC="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}.c"
15 15 TMPO="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}.o"
  16 +TMPE="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}"
16 17 TMPS="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}.S"
17 18 TMPH="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}.h"
18 19  
... ... @@ -142,6 +143,14 @@ fi
142 143  
143 144 fi
144 145  
  146 +# check gcc version
  147 +gcc_major="2"
  148 +gcc_version="$($cc -v 2>&1 | grep version | cut -d ' ' -f3-)"
  149 +case "$gcc_version" in
  150 +3.*) gcc_major="3";
  151 +;;
  152 +esac
  153 +
145 154 if test x"$1" = x"-h" -o x"$1" = x"--help" ; then
146 155 cat << EOF
147 156  
... ... @@ -181,6 +190,7 @@ echo &quot;prefix=$prefix&quot; &gt;&gt; config.mak
181 190 echo "#define CONFIG_GEMU_PREFIX \"$prefix\"" >> $TMPH
182 191 echo "MAKE=$make" >> config.mak
183 192 echo "CC=$cc" >> config.mak
  193 +echo "GCC_MAJOR=$gcc_major" >> config.mak
184 194 echo "HOST_CC=$host_cc" >> config.mak
185 195 echo "AR=$ar" >> config.mak
186 196 echo "STRIP=$strip -s -R .comment -R .note" >> config.mak
... ...