aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuan Quintela <quintela@redhat.com>2009-08-03 14:46:24 +0200
committerAnthony Liguori <aliguori@us.ibm.com>2009-08-10 13:05:39 -0500
commitc81da56e97a4a775428033f750f1e08136aced97 (patch)
tree92656f78f87995e9ce9f2af01dee3acfb5378d08
parent6c90361a7f589a4e932fed83660423cef3073bcf (diff)
Refactor HELPER_CFLAGS
Calculate its value in ./configure. Put together all its uses Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Message-Id:
-rw-r--r--Makefile.target28
-rwxr-xr-xconfigure4
2 files changed, 8 insertions, 24 deletions
diff --git a/Makefile.target b/Makefile.target
index 53a38a315f..d34156c120 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -19,22 +19,10 @@ endif
PROGS=$(QEMU_PROG)
-HELPER_CFLAGS=
-
-ifeq ($(ARCH),i386)
-HELPER_CFLAGS+=-fomit-frame-pointer
-endif
-
ifeq ($(subst ppc64,ppc,$(ARCH))$(TARGET_BASE_ARCH),ppcppc)
translate.o: QEMU_CFLAGS := $(QEMU_CFLAGS) $(call cc-option, $(QEMU_CFLAGS), -fno-unit-at-a-time,)
endif
-ifeq ($(ARCH),sparc)
- ifneq ($(CONFIG_SOLARIS),y)
- HELPER_CFLAGS+=-ffixed-i0
- endif
-endif
-
ifeq ($(ARCH),alpha)
# Ensure there's only a single GP
QEMU_CFLAGS+=-msmall-data
@@ -153,6 +141,10 @@ op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
cpu-exec.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
+# Note: this is a workaround. The real fix is to avoid compiling
+# cpu_signal_handler() in cpu-exec.c.
+signal.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
+
#########################################################
# Linux user emulator target
@@ -188,10 +180,6 @@ obj-arm-y += arm-semi.o
obj-m68k-y += m68k-sim.o m68k-semi.o
-# Note: this is a workaround. The real fix is to avoid compiling
-# cpu_signal_handler() in cpu-exec.c.
-signal.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
-
ARLIBS=../libqemu_user.a libqemu.a
endif #CONFIG_LINUX_USER
@@ -211,10 +199,6 @@ LIBS+=-lmx
obj-y = main.o commpage.o machload.o mmap.o signal.o syscall.o thunk.o \
gdbstub.o gdbstub-xml.o ioport-user.o
-# Note: this is a workaround. The real fix is to avoid compiling
-# cpu_signal_handler() in cpu-exec.c.
-signal.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
-
ARLIBS=libqemu.a
endif #CONFIG_DARWIN_USER
@@ -231,10 +215,6 @@ obj-y = main.o bsdload.o elfload.o mmap.o path.o signal.o strace.o syscall.o \
gdbstub.o gdbstub-xml.o ioport-user.o
obj-y += uaccess.o
-# Note: this is a workaround. The real fix is to avoid compiling
-# cpu_signal_handler() in cpu-exec.c.
-signal.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
-
ARLIBS=libqemu.a ../libqemu_user.a
endif #CONFIG_BSD_USER
diff --git a/configure b/configure
index 59fc842f86..3229e6c13a 100755
--- a/configure
+++ b/configure
@@ -44,6 +44,7 @@ make="make"
install="install"
objcopy="objcopy"
ld="ld"
+helper_cflags=""
# parse CC options first
for opt do
@@ -533,6 +534,7 @@ case "$cpu" in
QEMU_CFLAGS="-m32 -ffixed-g2 -ffixed-g3 $QEMU_CFLAGS"
if test "$solaris" = "no" ; then
QEMU_CFLAGS="-ffixed-g1 -ffixed-g6 $QEMU_CFLAGS"
+ helper_cflags="-ffixed-i0"
fi
;;
sparc64)
@@ -549,6 +551,7 @@ case "$cpu" in
i386)
QEMU_CFLAGS="-m32 $QEMU_CFLAGS"
LDFLAGS="-m32 $LDFLAGS"
+ helper_cflags="-fomit-frame-pointer"
host_guest_base="yes"
;;
x86_64)
@@ -1753,6 +1756,7 @@ echo "OBJCOPY=$objcopy" >> $config_host_mak
echo "LD=$ld" >> $config_host_mak
echo "CFLAGS=$CFLAGS" >> $config_host_mak
echo "QEMU_CFLAGS=$QEMU_CFLAGS" >> $config_host_mak
+echo "HELPER_CFLAGS=$helper_cflags" >> $config_host_mak
echo "LDFLAGS=$LDFLAGS" >> $config_host_mak
echo "ARLIBS_BEGIN=$arlibs_begin" >> $config_host_mak
echo "ARLIBS_END=$arlibs_end" >> $config_host_mak