Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <[email protected]>
---
 BaseTools/Conf/tools_def.template |   97 +++++++++++++++++++++++++++++++++++-
 1 files changed, 94 insertions(+), 3 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template 
b/BaseTools/Conf/tools_def.template
index 69b4000..b41b3b5 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -2580,6 +2580,7 @@ DEFINE GCC_IPF_CC_FLAGS            = 
DEF(GCC_ALL_CC_FLAGS) -minline-int-divide-m
 DEFINE GCC_ARM_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 -Wno-address
 DEFINE GCC_DLINK_FLAGS_COMMON      = -nostdlib --pie
 DEFINE GCC_IA32_X64_DLINK_COMMON   = DEF(GCC_DLINK_FLAGS_COMMON) --gc-sections
+DEFINE GCC_ARM_AARCH64_DLINK_COMMON= -Ttext=0x0 --emit-relocs -nostdlib -u 
$(IMAGE_ENTRY_POINT) -e $(IMAGE_ENTRY_POINT) -Map 
$(DEST_DIR_DEBUG)/$(BASE_NAME).map
 DEFINE GCC_IA32_X64_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry 
_ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
 DEFINE GCC_IA32_X64_DLINK_FLAGS    = DEF(GCC_IA32_X64_DLINK_COMMON) --entry 
_$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -Map 
$(DEST_DIR_DEBUG)/$(BASE_NAME).map
 DEFINE GCC_IPF_DLINK_FLAGS         = -nostdlib -O2 --gc-sections --dll -static 
--entry $(IMAGE_ENTRY_POINT) --undefined $(IMAGE_ENTRY_POINT) -Map 
$(DEST_DIR_DEBUG)/$(BASE_NAME).map
@@ -2591,9 +2592,11 @@ DEFINE GCC_VFRPP_FLAGS             = -x c -E -P 
-DVFRCOMPILE --include $(DEST_DI
 DEFINE GCC_ASLPP_FLAGS             = -x c -E -P
 DEFINE GCC_ASLCC_FLAGS             = -x c
 DEFINE GCC_WINDRES_FLAGS           = -J rc -O coff
-DEFINE GCC_IA32_RC_FLAGS           = -I binary -O elf32-i386        -B i386 
--rename-section .data=.hii
-DEFINE GCC_X64_RC_FLAGS            = -I binary -O elf64-x86-64      -B i386 
--rename-section .data=.hii
-DEFINE GCC_IPF_RC_FLAGS            = -I binary -O elf64-ia64-little -B ia64 
--rename-section .data=.hii
+DEFINE GCC_IA32_RC_FLAGS           = -I binary -O elf32-i386          -B i386  
  --rename-section .data=.hii
+DEFINE GCC_X64_RC_FLAGS            = -I binary -O elf64-x86-64        -B i386  
  --rename-section .data=.hii
+DEFINE GCC_IPF_RC_FLAGS            = -I binary -O elf64-ia64-little   -B ia64  
  --rename-section .data=.hii
+DEFINE GCC_ARM_RC_FLAGS            = -I binary -O elf32-littlearm     -B arm   
  --rename-section .data=.hii
+DEFINE GCC_AARCH64_RC_FLAGS        = -I binary -O elf64-littleaarch64 -B 
aarch64 --rename-section .data=.hii
 
 DEFINE GCC44_ALL_CC_FLAGS            = -g -fshort-wchar -fno-stack-protector 
-fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-array-bounds 
-ffunction-sections -fdata-sections -c -include AutoGen.h 
-DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
 DEFINE GCC44_IA32_CC_FLAGS           = DEF(GCC44_ALL_CC_FLAGS) -m32 
-malign-double -D EFI32
@@ -2619,6 +2622,9 @@ DEFINE GCC46_IA32_X64_ASLDLINK_FLAGS = 
DEF(GCC45_IA32_X64_ASLDLINK_FLAGS)
 DEFINE GCC46_IA32_X64_DLINK_FLAGS    = DEF(GCC45_IA32_X64_DLINK_FLAGS)
 DEFINE GCC46_X64_DLINK_FLAGS         = DEF(GCC45_X64_DLINK_FLAGS)
 DEFINE GCC46_ASM_FLAGS               = DEF(GCC45_ASM_FLAGS)
+DEFINE GCC46_ARM_ASM_FLAGS           = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) 
DEF(GCC_ASM_FLAGS) -mlittle-endian
+DEFINE GCC46_ARM_CC_FLAGS            = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) 
DEF(GCC44_ALL_CC_FLAGS) -mword-relocations -mlittle-endian -mabi=aapcs -mapcs 
-fno-short-enums -save-temps -fsigned-char -mno-unaligned-access -Wno-address 
-fomit-frame-pointer
+DEFINE GCC46_ARM_DLINK_FLAGS         = DEF(GCC_ARM_AARCH64_DLINK_COMMON) 
--oformat=elf32-littlearm
 
 DEFINE GCC47_IA32_CC_FLAGS           = DEF(GCC46_IA32_CC_FLAGS)
 DEFINE GCC47_X64_CC_FLAGS            = DEF(GCC46_X64_CC_FLAGS)
@@ -2627,6 +2633,12 @@ DEFINE GCC47_IA32_X64_ASLDLINK_FLAGS = 
DEF(GCC46_IA32_X64_ASLDLINK_FLAGS)
 DEFINE GCC47_IA32_X64_DLINK_FLAGS    = DEF(GCC46_IA32_X64_DLINK_FLAGS)
 DEFINE GCC47_X64_DLINK_FLAGS         = DEF(GCC46_X64_DLINK_FLAGS)
 DEFINE GCC47_ASM_FLAGS               = DEF(GCC46_ASM_FLAGS)
+DEFINE GCC47_ARM_ASM_FLAGS           = DEF(GCC46_ARM_ASM_FLAGS)
+DEFINE GCC47_AARCH64_ASM_FLAGS       = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) 
DEF(GCC_ASM_FLAGS) -mlittle-endian
+DEFINE GCC47_ARM_CC_FLAGS            = DEF(GCC46_ARM_CC_FLAGS)
+DEFINE GCC47_AARCH64_CC_FLAGS        = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) 
DEF(GCC44_ALL_CC_FLAGS) -mcmodel=large -mlittle-endian -fno-short-enums 
-save-temps -fverbose-asm -fsigned-char -ffunction-sections -fdata-sections 
-fomit-frame-pointer -fno-builtin -Wno-address
+DEFINE GCC47_ARM_DLINK_FLAGS         = DEF(GCC46_ARM_DLINK_FLAGS)
+DEFINE GCC47_AARCH64_DLINK_FLAGS     = DEF(GCC_ARM_AARCH64_DLINK_COMMON)
 
 
####################################################################################
 #
@@ -2909,6 +2921,34 @@ DEFINE GCC47_ASM_FLAGS               = 
DEF(GCC46_ASM_FLAGS)
 *_GCC46_X64_RC_FLAGS             = DEF(GCC_X64_RC_FLAGS)
 *_GCC46_X64_OBJCOPY_FLAGS        = 
 
+##################
+# GCC46 ARM definitions
+##################
+*_GCC46_ARM_OBJCOPY_PATH         = echo
+*_GCC46_ARM_CC_PATH              = ENV(GCC46_ARM_PREFIX)gcc
+*_GCC46_ARM_SLINK_PATH           = ENV(GCC46_ARM_PREFIX)ar
+*_GCC46_ARM_DLINK_PATH           = ENV(GCC46_ARM_PREFIX)ld
+*_GCC46_ARM_ASLDLINK_PATH        = ENV(GCC46_ARM_PREFIX)ld
+*_GCC46_ARM_ASM_PATH             = ENV(GCC46_ARM_PREFIX)gcc
+*_GCC46_ARM_PP_PATH              = ENV(GCC46_ARM_PREFIX)gcc
+*_GCC46_ARM_VFRPP_PATH           = ENV(GCC46_ARM_PREFIX)gcc
+*_GCC46_ARM_ASLCC_PATH           = ENV(GCC46_ARM_PREFIX)gcc
+*_GCC46_ARM_ASLPP_PATH           = ENV(GCC46_ARM_PREFIX)gcc
+*_GCC46_ARM_RC_PATH              = ENV(GCC46_ARM_PREFIX)objcopy
+
+*_GCC46_ARM_ARCHCC_FLAGS         = -mthumb
+*_GCC46_ARM_PLATFORM_FLAGS       = -march=armv7-a
+
+*_GCC46_ARM_ASM_FLAGS            = DEF(GCC46_ARM_ASM_FLAGS)
+*_GCC46_ARM_DLINK_FLAGS          = DEF(GCC46_ARM_DLINK_FLAGS)
+*_GCC46_ARM_PLATFORM_FLAGS       = -march=armv7-a
+*_GCC46_ARM_PP_FLAGS             = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) 
DEF(GCC_PP_FLAGS)
+*_GCC46_ARM_RC_FLAGS             = DEF(GCC_ARM_RC_FLAGS)
+*_GCC46_ARM_VFRPP_FLAGS          = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) 
DEF(GCC_VFRPP_FLAGS)
+
+  DEBUG_GCC46_ARM_CC_FLAGS       = DEF(GCC46_ARM_CC_FLAGS) -O0
+RELEASE_GCC46_ARM_CC_FLAGS       = DEF(GCC46_ARM_CC_FLAGS) 
-Wno-unused-but-set-variable
+
 
####################################################################################
 #
 # GCC 4.7 - This configuration is used to compile under Linux to produce
@@ -2974,6 +3014,57 @@ DEFINE GCC47_ASM_FLAGS               = 
DEF(GCC46_ASM_FLAGS)
 *_GCC47_X64_RC_FLAGS             = DEF(GCC_X64_RC_FLAGS)
 *_GCC47_X64_OBJCOPY_FLAGS        = 
 
+##################
+# GCC47 ARM definitions
+##################
+*_GCC47_ARM_CC_PATH              = ENV(GCC47_ARM_PREFIX)gcc
+*_GCC47_ARM_SLINK_PATH           = ENV(GCC47_ARM_PREFIX)ar
+*_GCC47_ARM_DLINK_PATH           = ENV(GCC47_ARM_PREFIX)ld
+*_GCC47_ARM_ASLDLINK_PATH        = ENV(GCC47_ARM_PREFIX)ld
+*_GCC47_ARM_ASM_PATH             = ENV(GCC47_ARM_PREFIX)gcc
+*_GCC47_ARM_PP_PATH              = ENV(GCC47_ARM_PREFIX)gcc
+*_GCC47_ARM_VFRPP_PATH           = ENV(GCC47_ARM_PREFIX)gcc
+*_GCC47_ARM_ASLCC_PATH           = ENV(GCC47_ARM_PREFIX)gcc
+*_GCC47_ARM_ASLPP_PATH           = ENV(GCC47_ARM_PREFIX)gcc
+*_GCC47_ARM_RC_PATH              = ENV(GCC47_ARM_PREFIX)objcopy
+
+*_GCC46_ARM_ARCHCC_FLAGS         = -mthumb
+*_GCC46_ARM_PLATFORM_FLAGS       = -march=armv7-a
+
+*_GCC47_ARM_ASM_FLAGS            = DEF(GCC47_ARM_ASM_FLAGS)
+*_GCC47_ARM_DLINK_FLAGS          = DEF(GCC47_ARM_DLINK_FLAGS)
+*_GCC47_ARM_PLATFORM_FLAGS       = -march=armv7-a
+*_GCC47_ARM_PP_FLAGS             = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) 
DEF(GCC_PP_FLAGS)
+*_GCC47_ARM_RC_FLAGS             = DEF(GCC_ARM_RC_FLAGS)
+*_GCC47_ARM_VFRPP_FLAGS          = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) 
DEF(GCC_VFRPP_FLAGS)
+
+  DEBUG_GCC47_ARM_CC_FLAGS       = DEF(GCC47_ARM_CC_FLAGS) -O0
+RELEASE_GCC47_ARM_CC_FLAGS       = DEF(GCC47_ARM_CC_FLAGS) 
-Wno-unused-but-set-variable
+
+##################
+# GCC47 AARCH64 definitions
+##################
+*_GCC47_AARCH64_CC_PATH          = ENV(GCC47_AARCH64_PREFIX)gcc
+*_GCC47_AARCH64_SLINK_PATH       = ENV(GCC47_AARCH64_PREFIX)ar
+*_GCC47_AARCH64_DLINK_PATH       = ENV(GCC47_AARCH64_PREFIX)ld
+*_GCC47_AARCH64_ASLDLINK_PATH    = ENV(GCC47_AARCH64_PREFIX)ld
+*_GCC47_AARCH64_ASM_PATH         = ENV(GCC47_AARCH64_PREFIX)gcc
+*_GCC47_AARCH64_PP_PATH          = ENV(GCC47_AARCH64_PREFIX)gcc
+*_GCC47_AARCH64_VFRPP_PATH       = ENV(GCC47_AARCH64_PREFIX)gcc
+*_GCC47_AARCH64_ASLCC_PATH       = ENV(GCC47_AARCH64_PREFIX)gcc
+*_GCC47_AARCH64_ASLPP_PATH       = ENV(GCC47_AARCH64_PREFIX)gcc
+*_GCC47_AARCH64_RC_PATH          = ENV(GCC47_AARCH64_PREFIX)objcopy
+
+*_GCC47_AARCH64_ASM_FLAGS        = DEF(GCC47_AARCH64_ASM_FLAGS)
+*_GCC47_AARCH64_DLINK_FLAGS      = DEF(GCC47_AARCH64_DLINK_FLAGS)
+*_GCC47_AARCH64_PLATFORM_FLAGS   =
+*_GCC47_AARCH64_PP_FLAGS         = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) 
DEF(GCC_PP_FLAGS)
+*_GCC47_AARCH64_RC_FLAGS         = DEF(GCC_AARCH64_RC_FLAGS)
+*_GCC47_AARCH64_VFRPP_FLAGS      = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) 
DEF(GCC_VFRPP_FLAGS)
+
+  DEBUG_GCC47_AARCH64_CC_FLAGS   = DEF(GCC47_AARCH64_CC_FLAGS) -O0
+RELEASE_GCC47_AARCH64_CC_FLAGS   = DEF(GCC47_AARCH64_CC_FLAGS) 
-Wno-unused-but-set-variable
+
 
####################################################################################
 #
 # Cygwin GCC And Intel ACPI Compiler
-- 
1.7.0.4


------------------------------------------------------------------------------
Get your SQL database under version control now!
Version control is standard for application code, but databases havent 
caught up. So what steps can you take to put your SQL databases under 
version control? Why should you start doing it? Read more to find out.
http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk
_______________________________________________
edk2-buildtools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-buildtools-devel

Reply via email to