# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1280092847 -3600
# Node ID 2b768d52bc7f9a325c14d6eff4630dd8b2dc3087
# Parent ac7e4c6ec6c7494e4046da92aa8f62f6c1371438
x86: Add -fno-exceptions to list of possibly-supported CFLAGS for embedded
targets.
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
Config.mk | 5 +++++
stubdom/Makefile | 4 +---
tools/firmware/Rules.mk | 5 +----
tools/tests/blowfish.mk | 5 +----
xen/arch/x86/Rules.mk | 5 +----
xen/arch/x86/boot/build32.mk | 5 +----
6 files changed, 10 insertions(+), 19 deletions(-)
diff -r ac7e4c6ec6c7 -r 2b768d52bc7f Config.mk
--- a/Config.mk Fri Jul 23 19:23:49 2010 +0100
+++ b/Config.mk Sun Jul 25 22:20:47 2010 +0100
@@ -59,6 +59,8 @@ define cc-option-add-closure
endif
endef
+cc-options-add = $(foreach o,$(3),$(call cc-option-add,$(1),$(2),$(o)))
+
# cc-ver: Check compiler is at least specified version. Return boolean 'y'/'n'.
# Usage: ifeq ($(call cc-ver,$(CC),0x030400),y)
cc-ver = $(shell if [ $$((`$(1) -dumpversion | awk -F. \
@@ -134,6 +136,9 @@ LDFLAGS += $(foreach i, $(EXTRA_LIB), -L
LDFLAGS += $(foreach i, $(EXTRA_LIB), -L$(i))
CFLAGS += $(foreach i, $(EXTRA_INCLUDES), -I$(i))
+EMBEDDED_EXTRA_CFLAGS := -nopie -fno-stack-protector -fno-stack-protector-all
+EMBEDDED_EXTRA_CFLAGS += -fno-exceptions
+
# Enable XSM security module. Enabling XSM requires selection of an
# XSM security module (FLASK_ENABLE or ACM_SECURITY).
XSM_ENABLE ?= n
diff -r ac7e4c6ec6c7 -r 2b768d52bc7f stubdom/Makefile
--- a/stubdom/Makefile Fri Jul 23 19:23:49 2010 +0100
+++ b/stubdom/Makefile Sun Jul 25 22:20:47 2010 +0100
@@ -58,9 +58,7 @@ CROSS_PREFIX=$(CURDIR)/$(CROSS_ROOT)
# Disable PIE/SSP if GCC supports them. They can break us.
TARGET_CFLAGS += $(CFLAGS)
TARGET_CPPFLAGS += $(CPPFLAGS)
-TARGET_CFLAGS += $(call cc-option,$(CC),-nopie,)
-TARGET_CFLAGS += $(call cc-option,$(CC),-fno-stack-protector,)
-TARGET_CFLAGS += $(call cc-option,$(CC),-fno-stack-protector-all,)
+$(call cc-options-add,TARGET_CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
# Do not use host headers and libs
GCC_INSTALL = $(shell LANG=C gcc -print-search-dirs | sed -n -e 's/install:
\(.*\)/\1/p')
diff -r ac7e4c6ec6c7 -r 2b768d52bc7f tools/firmware/Rules.mk
--- a/tools/firmware/Rules.mk Fri Jul 23 19:23:49 2010 +0100
+++ b/tools/firmware/Rules.mk Sun Jul 25 22:20:47 2010 +0100
@@ -12,10 +12,7 @@ endif
CFLAGS += -Werror
-# Disable PIE/SSP if GCC supports them. They can break us.
-$(call cc-option-add,CFLAGS,CC,-nopie)
-$(call cc-option-add,CFLAGS,CC,-fno-stack-protector)
-$(call cc-option-add,CFLAGS,CC,-fno-stack-protector-all)
+$(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
# Extra CFLAGS suitable for an embedded type of environment.
CFLAGS += -fno-builtin -msoft-float
diff -r ac7e4c6ec6c7 -r 2b768d52bc7f tools/tests/blowfish.mk
--- a/tools/tests/blowfish.mk Fri Jul 23 19:23:49 2010 +0100
+++ b/tools/tests/blowfish.mk Sun Jul 25 22:20:47 2010 +0100
@@ -4,10 +4,7 @@ CFLAGS =
CFLAGS =
include $(XEN_ROOT)/tools/Rules.mk
-# Disable PIE/SSP if GCC supports them. They can break us.
-$(call cc-option-add,CFLAGS,CC,-nopie)
-$(call cc-option-add,CFLAGS,CC,-fno-stack-protector)
-$(call cc-option-add,CFLAGS,CC,-fno-stack-protector-all)
+$(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
CFLAGS += -fno-builtin -msoft-float
diff -r ac7e4c6ec6c7 -r 2b768d52bc7f xen/arch/x86/Rules.mk
--- a/xen/arch/x86/Rules.mk Fri Jul 23 19:23:49 2010 +0100
+++ b/xen/arch/x86/Rules.mk Sun Jul 25 22:20:47 2010 +0100
@@ -25,10 +25,7 @@ CFLAGS += -I$(BASEDIR)/include/asm-x86/m
# Prevent floating-point variables from creeping into Xen.
CFLAGS += -msoft-float
-# Disable PIE/SSP if GCC supports them. They can break us.
-$(call cc-option-add,CFLAGS,CC,-nopie)
-$(call cc-option-add,CFLAGS,CC,-fno-stack-protector)
-$(call cc-option-add,CFLAGS,CC,-fno-stack-protector-all)
+$(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
ifeq ($(supervisor_mode_kernel),y)
CFLAGS += -DCONFIG_X86_SUPERVISOR_MODE_KERNEL=1
diff -r ac7e4c6ec6c7 -r 2b768d52bc7f xen/arch/x86/boot/build32.mk
--- a/xen/arch/x86/boot/build32.mk Fri Jul 23 19:23:49 2010 +0100
+++ b/xen/arch/x86/boot/build32.mk Sun Jul 25 22:20:47 2010 +0100
@@ -3,10 +3,7 @@ CFLAGS =
CFLAGS =
include $(XEN_ROOT)/Config.mk
-# Disable PIE/SSP if GCC supports them. They can break us.
-$(call cc-option-add,CFLAGS,CC,-nopie)
-$(call cc-option-add,CFLAGS,CC,-fno-stack-protector)
-$(call cc-option-add,CFLAGS,CC,-fno-stack-protector-all)
+$(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
CFLAGS += -Werror -fno-builtin -msoft-float
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|