Some versions of GCC require insane (>2GB) amounts of memory to compile
translate.o.  As a countermeasure, disable the culprit optimization pass.
This should fix the buildbot failure for default_x86_64_fedora16.
Anyway is a good thing to do because people will try to compile 1.3 with
less than 2GB of memory and complain.

Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
---
 Makefile.target | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Makefile.target b/Makefile.target
index 8b658c0..d38bb58 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -143,6 +143,12 @@ GENERATED_HEADERS += hmp-commands.h qmp-commands-old.h
 
 endif # CONFIG_SOFTMMU
 
+# Workaround for http://gcc.gnu.org/PR55489.  Happens with -fPIE/-fPIC
+# and large functions that use global variables.  The bug is in all
+# releases of GCC, but it became particularly acute in 4.7.x.  We
+# should be able to delete this at the end of 2013.
+%/translate.o: QEMU_CFLAGS += -fno-gcse
+
 nested-vars += obj-y
 
 # This resolves all nested paths, so it must come last
-- 
1.8.0


Reply via email to