[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] x86: Add -fno-exceptions to list of possibly-supported CFLAGS for embedded targets.



# 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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.