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 | 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 "prefix=$prefix" >> 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 | ... | ... |