Commit 6c041c54bc710cf818afd630f31161ce0352ebcd
1 parent
11f29511
Disable compiler options dangerous for op compilation.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2495 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
2 changed files
with
16 additions
and
19 deletions
Makefile.target
| ... | ... | @@ -70,16 +70,26 @@ BASE_LDFLAGS+=-static |
| 70 | 70 | endif |
| 71 | 71 | |
| 72 | 72 | # We require -O2 to avoid the stack setup prologue in EXIT_TB |
| 73 | -OP_CFLAGS = -Wall -O2 -g -fno-strict-aliasing | |
| 73 | +OP_CFLAGS := -Wall -O2 -g -fno-strict-aliasing | |
| 74 | + | |
| 75 | +# cc-option | |
| 76 | +# Usage: OP_CFLAGS+=$(call cc-option, -falign-functions=0, -malign-functions=0) | |
| 77 | + | |
| 78 | +cc-option = $(shell if $(CC) $(OP_CFLAGS) $(1) -S -o /dev/null -xc /dev/null \ | |
| 79 | + > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;) | |
| 80 | + | |
| 81 | +OP_CFLAGS+=$(call cc-option, -fno-reorder-blocks, "") | |
| 82 | +OP_CFLAGS+=$(call cc-option, -fno-gcse, "") | |
| 83 | +OP_CFLAGS+=$(call cc-option, -fno-tree-ch, "") | |
| 84 | +OP_CFLAGS+=$(call cc-option, -fno-optimize-sibling-calls, "") | |
| 85 | +OP_CFLAGS+=$(call cc-option, -fno-crossjumping, "") | |
| 86 | +OP_CFLAGS+=$(call cc-option, -fno-align-labels, "") | |
| 87 | +OP_CFLAGS+=$(call cc-option, -fno-align-jumps, "") | |
| 88 | +OP_CFLAGS+=$(call cc-option, -fno-align-functions, $(call cc-option, -malign-functions=0, "")) | |
| 74 | 89 | |
| 75 | 90 | ifeq ($(ARCH),i386) |
| 76 | 91 | HELPER_CFLAGS+=-fomit-frame-pointer |
| 77 | 92 | OP_CFLAGS+=-mpreferred-stack-boundary=2 -fomit-frame-pointer |
| 78 | -ifeq ($(HAVE_GCC3_OPTIONS),yes) | |
| 79 | -OP_CFLAGS+= -falign-functions=0 -fno-gcse | |
| 80 | -else | |
| 81 | -OP_CFLAGS+= -malign-functions=0 | |
| 82 | -endif | |
| 83 | 93 | ifdef TARGET_GPROF |
| 84 | 94 | USE_I386_LD=y |
| 85 | 95 | endif |
| ... | ... | @@ -163,11 +173,6 @@ ifeq ($(ARCH),mips) |
| 163 | 173 | BASE_LDFLAGS+=-Wl,-T,$(SRC_PATH)/$(ARCH).ld |
| 164 | 174 | endif |
| 165 | 175 | |
| 166 | -ifeq ($(HAVE_GCC3_OPTIONS),yes) | |
| 167 | -# very important to generate a return at the end of every operation | |
| 168 | -OP_CFLAGS+=-fno-reorder-blocks -fno-optimize-sibling-calls | |
| 169 | -endif | |
| 170 | - | |
| 171 | 176 | ifeq ($(CONFIG_DARWIN),yes) |
| 172 | 177 | LIBS+=-lmx |
| 173 | 178 | endif | ... | ... |
configure
| ... | ... | @@ -475,11 +475,6 @@ int main(void) { |
| 475 | 475 | } |
| 476 | 476 | EOF |
| 477 | 477 | |
| 478 | -have_gcc3_options="no" | |
| 479 | -if $cc -fno-reorder-blocks -fno-optimize-sibling-calls -o $TMPO $TMPC 2> /dev/null ; then | |
| 480 | - have_gcc3_options="yes" | |
| 481 | -fi | |
| 482 | - | |
| 483 | 478 | ########################################## |
| 484 | 479 | # SDL probe |
| 485 | 480 | |
| ... | ... | @@ -654,9 +649,6 @@ echo "#define CONFIG_QEMU_SHAREDIR \"$prefix$datasuffix\"" >> $config_h |
| 654 | 649 | echo "MAKE=$make" >> $config_mak |
| 655 | 650 | echo "INSTALL=$install" >> $config_mak |
| 656 | 651 | echo "CC=$cc" >> $config_mak |
| 657 | -if test "$have_gcc3_options" = "yes" ; then | |
| 658 | - echo "HAVE_GCC3_OPTIONS=yes" >> $config_mak | |
| 659 | -fi | |
| 660 | 652 | echo "HOST_CC=$host_cc" >> $config_mak |
| 661 | 653 | echo "AR=$ar" >> $config_mak |
| 662 | 654 | echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak | ... | ... |