]> xenbits.xensource.com Git - xen.git/commitdiff
x86: Add -fno-exceptions to list of possibly-supported CFLAGS for embedded targets.
authorKeir Fraser <keir.fraser@citrix.com>
Sun, 25 Jul 2010 21:20:47 +0000 (22:20 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Sun, 25 Jul 2010 21:20:47 +0000 (22:20 +0100)
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Config.mk
stubdom/Makefile
tools/firmware/Rules.mk
tools/tests/blowfish.mk
xen/arch/x86/Rules.mk
xen/arch/x86/boot/build32.mk

index cd15726009cb65222e5c384bf9ca0248b9cc27f6..f5766e1687813ea657544d605bd8ff3204753395 100644 (file)
--- a/Config.mk
+++ b/Config.mk
@@ -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 @@ $(call cc-option-add,CFLAGS,CC,-Wdeclaration-after-statement)
 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
index e0e8a78b0acc6679f981ccf12bb6e5a51b2b3470..aee3592d707285831eeb9b7ecd2153537db9fb26 100644 (file)
@@ -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')
index 901bbf2434cb6fe3d216773c867152958531b854..8a8830911be539b55b3a6feda1e551d84c463747 100644 (file)
@@ -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
index ae7888267ddc3a098e1b3ea79ab41dfea0151ad9..a8ede7f615895c862a156af2c65f9af0d7458427 100644 (file)
@@ -4,10 +4,7 @@ XEN_ROOT = ../..
 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
 
index d97cea47778f9f54e38586a82c7cef0a22ab2686..d8663a6184b4c0d2b0941dd5144563057d727af1 100644 (file)
@@ -25,10 +25,7 @@ CFLAGS += -I$(BASEDIR)/include/asm-x86/mach-default
 # 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
index 0de9c15af2878cca6dea96eb7f996e8e2c8c83ef..c061560bdfea492e16d88e9103db8d1ed086ca1a 100644 (file)
@@ -3,10 +3,7 @@ override XEN_TARGET_ARCH=x86_32
 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