--- /dev/null
+From 8b6e06bccbf4d405dfec6bd74fd0109b31768688 Mon Sep 17 00:00:00 2001
+From: Olivier Martin <olivier.martin@arm.com>
+Date: Thu, 22 Sep 2011 20:40:01 +0100
+Subject: [PATCH 1/3] BaseTools/tools_def.template: Use GCC_ALL_CC_FLAGS for
+ ARMGCC and Clean up flags
+
+---
+ BaseTools/Conf/tools_def.template | 32 +++++++++++++++++---------------
+ 1 files changed, 17 insertions(+), 15 deletions(-)
+ mode change 100644 => 100755 BaseTools/Conf/tools_def.template
+
+diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
+old mode 100644
+new mode 100755
+index fe7900e..4dffd21
+--- a/BaseTools/Conf/tools_def.template
++++ b/BaseTools/Conf/tools_def.template
+@@ -1976,6 +1976,7 @@ DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-strict-aliasing -
+ DEFINE GCC_IA32_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -O2 -mno-stack-arg-probe\r
+ DEFINE GCC_X64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mno-red-zone -Wno-address -mno-stack-arg-probe\r
+ DEFINE GCC_IPF_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -minline-int-divide-min-latency\r
++DEFINE GCC_ARMGCC_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mword-relocations -mlittle-endian -mabi=aapcs -mapcs -fno-short-enums -save-temps -fsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer\r
+ DEFINE GCC_DLINK_FLAGS_COMMON = -nostdlib --pie\r
+ DEFINE GCC_IA32_X64_DLINK_COMMON = DEF(GCC_DLINK_FLAGS_COMMON) --gc-sections\r
+ DEFINE GCC_IA32_X64_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)\r
+@@ -4075,7 +4076,8 @@ RELEASE_RVCT31CYGWIN_ARM_CC_FLAGS = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM
+ \r
+ ####################################################################################\r
+ #\r
+-# ARM GCC (www.codesourcery.com)\r
++#\r
++# ARM EABI GCC (www.codesourcery.com)\r
+ #\r
+ ####################################################################################\r
+ # ARMGCC - ARM version of the GCC cross compiler\r
+@@ -4089,12 +4091,12 @@ RELEASE_RVCT31CYGWIN_ARM_CC_FLAGS = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM
+ ##################\r
+ # ASL definitions\r
+ ##################\r
+-*_ARMGCC_*_ASL_PATH = DEF(UNIX_IASL_BIN)\r
+-*_ARMGCC_*_ASL_FLAGS = DEF(IASL_FLAGS)\r
+-*_ARMGCC_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)\r
+-*_ARMGCC_*_ASLPP_FLAGS = -x c -E -P\r
+-*_ARMGCC_*_ASLCC_FLAGS = -x c\r
+-*_ARMGCC_*_ASLDLINK_FLAGS = DEF(GCC_DLINK_FLAGS_COMMON) --entry _ReferenceAcpiTable\r
++*_ARMGCC_*_ASL_PATH = DEF(UNIX_IASL_BIN)\r
++*_ARMGCC_*_ASL_FLAGS = DEF(IASL_FLAGS)\r
++*_ARMGCC_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)\r
++*_ARMGCC_*_ASLPP_FLAGS = -x c -E -P\r
++*_ARMGCC_*_ASLCC_FLAGS = -x c\r
++*_ARMGCC_*_ASLDLINK_FLAGS = DEF(GCC_DLINK_FLAGS_COMMON) --entry _ReferenceAcpiTable\r
+ \r
+ ##################\r
+ # ARM definitions\r
+@@ -4114,22 +4116,22 @@ RELEASE_RVCT31CYGWIN_ARM_CC_FLAGS = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM
+ #\r
+ # Use default values, or override in DSC file\r
+ #\r
+-*_ARMGCC_ARM_ARCHCC_FLAGS = -march=armv7-a -mthumb\r
+-*_ARMGCC_ARM_ARCHASM_FLAGS = -march=armv7-a\r
++*_ARMGCC_ARM_ARCHCC_FLAGS = -mthumb\r
++*_ARMGCC_ARM_ARCHASM_FLAGS = \r
+ *_ARMGCC_ARM_ARCHDLINK_FLAGS =\r
+ *_ARMGCC_ARM_PLATFORM_FLAGS = -march=armv7-a\r
+ \r
+- DEBUG_ARMGCC_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) -mlittle-endian -g\r
+-RELEASE_ARMGCC_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) -mlittle-endian\r
++ DEBUG_ARMGCC_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -mlittle-endian -g\r
++RELEASE_ARMGCC_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -mlittle-endian\r
+ \r
+-*_ARMGCC_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h\r
+-*_ARMGCC_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h\r
++*_ARMGCC_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h\r
++*_ARMGCC_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h\r
+ \r
+ *_ARMGCC_ARM_SLINK_FLAGS = -rc\r
+ *_ARMGCC_ARM_DLINK_FLAGS = $(ARCHDLINK_FLAGS) --oformat=elf32-littlearm --emit-relocs -nostdlib -u $(IMAGE_ENTRY_POINT) -e $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
+ \r
+- DEBUG_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mlittle-endian -g -O0 -mabi=aapcs -mapcs -fno-short-enums -save-temps -combine -fsigned-char -fshort-wchar -fno-strict-aliasing -ffunction-sections -fdata-sections -Wall -Werror -Wno-missing-braces -fomit-frame-pointer -c -include AutoGen.h\r
+-RELEASE_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mlittle-endian -Os -mabi=aapcs -mapcs -fno-short-enums -save-temps -combine -fsigned-char -fshort-wchar -fno-strict-aliasing -ffunction-sections -fdata-sections -Wall -Werror -Wno-missing-braces -fomit-frame-pointer -c -include AutoGen.h\r
++ DEBUG_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARMGCC_CC_FLAGS) -combine -O0\r
++RELEASE_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARMGCC_CC_FLAGS) -combine -Wno-unused\r
+ \r
+ #################\r
+ # ASM 16 linker defintions\r
+--
+1.7.5.1
+