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,13 +7,23 @@ DEFINES=-DHAVE_BYTESWAP_H
7 7
8 ifeq ($(ARCH),i386) 8 ifeq ($(ARCH),i386)
9 CFLAGS+=-fomit-frame-pointer 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 endif 16 endif
12 17
13 ifeq ($(ARCH),ppc) 18 ifeq ($(ARCH),ppc)
14 OP_CFLAGS=$(CFLAGS) 19 OP_CFLAGS=$(CFLAGS)
15 endif 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 DEFINES+=-D_GNU_SOURCE 29 DEFINES+=-D_GNU_SOURCE
configure
@@ -13,6 +13,7 @@ fi @@ -13,6 +13,7 @@ fi
13 13
14 TMPC="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}.c" 14 TMPC="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}.c"
15 TMPO="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}.o" 15 TMPO="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}.o"
  16 +TMPE="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}"
16 TMPS="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}.S" 17 TMPS="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}.S"
17 TMPH="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}.h" 18 TMPH="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}.h"
18 19
@@ -142,6 +143,14 @@ fi @@ -142,6 +143,14 @@ fi
142 143
143 fi 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 if test x"$1" = x"-h" -o x"$1" = x"--help" ; then 154 if test x"$1" = x"-h" -o x"$1" = x"--help" ; then
146 cat << EOF 155 cat << EOF
147 156
@@ -181,6 +190,7 @@ echo &quot;prefix=$prefix&quot; &gt;&gt; config.mak @@ -181,6 +190,7 @@ echo &quot;prefix=$prefix&quot; &gt;&gt; config.mak
181 echo "#define CONFIG_GEMU_PREFIX \"$prefix\"" >> $TMPH 190 echo "#define CONFIG_GEMU_PREFIX \"$prefix\"" >> $TMPH
182 echo "MAKE=$make" >> config.mak 191 echo "MAKE=$make" >> config.mak
183 echo "CC=$cc" >> config.mak 192 echo "CC=$cc" >> config.mak
  193 +echo "GCC_MAJOR=$gcc_major" >> config.mak
184 echo "HOST_CC=$host_cc" >> config.mak 194 echo "HOST_CC=$host_cc" >> config.mak
185 echo "AR=$ar" >> config.mak 195 echo "AR=$ar" >> config.mak
186 echo "STRIP=$strip -s -R .comment -R .note" >> config.mak 196 echo "STRIP=$strip -s -R .comment -R .note" >> config.mak