Commit ca735206e0f223d75894260fb98c0c605f590817
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 "prefix=$prefix" >> config.mak | @@ -181,6 +190,7 @@ echo "prefix=$prefix" >> 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 |