Commit 6c041c54bc710cf818afd630f31161ce0352ebcd

Authored by ths
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,16 +70,26 @@ BASE_LDFLAGS+=-static
70 endif 70 endif
71 71
72 # We require -O2 to avoid the stack setup prologue in EXIT_TB 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 ifeq ($(ARCH),i386) 90 ifeq ($(ARCH),i386)
76 HELPER_CFLAGS+=-fomit-frame-pointer 91 HELPER_CFLAGS+=-fomit-frame-pointer
77 OP_CFLAGS+=-mpreferred-stack-boundary=2 -fomit-frame-pointer 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 ifdef TARGET_GPROF 93 ifdef TARGET_GPROF
84 USE_I386_LD=y 94 USE_I386_LD=y
85 endif 95 endif
@@ -163,11 +173,6 @@ ifeq ($(ARCH),mips) @@ -163,11 +173,6 @@ ifeq ($(ARCH),mips)
163 BASE_LDFLAGS+=-Wl,-T,$(SRC_PATH)/$(ARCH).ld 173 BASE_LDFLAGS+=-Wl,-T,$(SRC_PATH)/$(ARCH).ld
164 endif 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 ifeq ($(CONFIG_DARWIN),yes) 176 ifeq ($(CONFIG_DARWIN),yes)
172 LIBS+=-lmx 177 LIBS+=-lmx
173 endif 178 endif
configure
@@ -475,11 +475,6 @@ int main(void) { @@ -475,11 +475,6 @@ int main(void) {
475 } 475 }
476 EOF 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 # SDL probe 479 # SDL probe
485 480
@@ -654,9 +649,6 @@ echo "#define CONFIG_QEMU_SHAREDIR \"$prefix$datasuffix\"" >> $config_h @@ -654,9 +649,6 @@ echo "#define CONFIG_QEMU_SHAREDIR \"$prefix$datasuffix\"" >> $config_h
654 echo "MAKE=$make" >> $config_mak 649 echo "MAKE=$make" >> $config_mak
655 echo "INSTALL=$install" >> $config_mak 650 echo "INSTALL=$install" >> $config_mak
656 echo "CC=$cc" >> $config_mak 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 echo "HOST_CC=$host_cc" >> $config_mak 652 echo "HOST_CC=$host_cc" >> $config_mak
661 echo "AR=$ar" >> $config_mak 653 echo "AR=$ar" >> $config_mak
662 echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak 654 echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak