]> git.proxmox.com Git - mirror_edk2.git/blob - ArmPlatformPkg/Documentation/patches/0003-BaseTools-Conf-Add-support-for-ARM-GCC-Linux-EABI-to.patch
Add description for the parameter of SafeFreePool().
[mirror_edk2.git] / ArmPlatformPkg / Documentation / patches / 0003-BaseTools-Conf-Add-support-for-ARM-GCC-Linux-EABI-to.patch
1 From 289ebaebf3c8c60c5cf09b53108c3ef671b64afe Mon Sep 17 00:00:00 2001
2 From: Olivier Martin <olivier.martin@arm.com>
3 Date: Thu, 22 Sep 2011 20:46:41 +0100
4 Subject: [PATCH 3/3] BaseTools/Conf: Add support for ARM GCC Linux EABI
5 toolchain
6
7 ---
8 BaseTools/Conf/build_rule.template | 12 ++++----
9 BaseTools/Conf/tools_def.template | 58 ++++++++++++++++++++++++++++++++++++
10 2 files changed, 64 insertions(+), 6 deletions(-)
11 mode change 100644 => 100755 BaseTools/Conf/build_rule.template
12
13 diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template
14 old mode 100644
15 new mode 100755
16 index ff5af1c..c54b091
17 --- a/BaseTools/Conf/build_rule.template
18 +++ b/BaseTools/Conf/build_rule.template
19 @@ -129,7 +129,7 @@
20 "$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src}
21 "$(SYMRENAME)" $(SYMRENAME_FLAGS) ${dst}
22
23 - <Command.ARMGCC>
24 + <Command.ARMGCC, Command.ARMLINUXGCC>
25 "$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src}
26
27
28 @@ -217,7 +217,7 @@
29 <Command.RVCT>
30 "$(SLINK)" $(SLINK_FLAGS) ${dst} --via $(OBJECT_FILES_LIST)
31
32 - <Command.RVCTCYGWIN, Command.ARMGCC>
33 + <Command.RVCTCYGWIN, Command.ARMGCC, Command.ARMLINUXGCC>
34 # $(OBJECT_FILES_LIST) has wrong paths for cygwin
35 "$(SLINK)" $(SLINK_FLAGS) ${dst} $(OBJECT_FILES)
36
37 @@ -241,7 +241,7 @@
38 "$(DLINK)" -o ${dst} $(DLINK_FLAGS) -\( $(DLINK_SPATH) @$(STATIC_LIBRARY_FILES_LIST) -\) $(DLINK2_FLAGS)
39 "$(OBJCOPY)" $(OBJCOPY_FLAGS) ${dst}
40
41 - <Command.ARMGCC>
42 + <Command.ARMGCC, Command.ARMLINUXGCC>
43 "$(DLINK)" -o ${dst} $(DLINK_FLAGS) -\( $(DLINK_SPATH) $(STATIC_LIBRARY_FILES) -\) $(DLINK2_FLAGS)
44
45 <Command.RVCT>
46 @@ -271,7 +271,7 @@
47 <Command.GCC>
48 "$(DLINK)" $(DLINK_FLAGS) -\( $(DLINK_SPATH) @$(STATIC_LIBRARY_FILES_LIST) -\) $(DLINK2_FLAGS)
49
50 - <Command.ARMGCC>
51 + <Command.ARMGCC, Command.ARMLINUXGCC>
52 "$(DLINK)" $(DLINK_FLAGS) -\( $(DLINK_SPATH) $(STATIC_LIBRARY_FILES) -\) $(DLINK2_FLAGS)
53
54 <Command.RVCT>
55 @@ -292,7 +292,7 @@
56 <OutputFile>
57 $(DEBUG_DIR)(+)$(MODULE_NAME).efi
58
59 - <Command.MSFT, Command.INTEL, Command.RVCT, Command.ARMGCC>
60 + <Command.MSFT, Command.INTEL, Command.RVCT, Command.ARMGCC, Command.ARMLINUXGCC>
61 "$(GENFW)" -e $(MODULE_TYPE) -o ${dst} ${src} $(GENFW_FLAGS)
62 $(CP) ${dst} $(OUTPUT_DIR)
63 $(CP) ${dst} $(BIN_DIR)
64 @@ -536,7 +536,7 @@
65 "$(GENFW)" -o $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc -g $(MODULE_GUID) --hiibinpackage $(HII_BINARY_PACKAGES) $(GENFW_FLAGS)
66 "$(RC)" $(RC_FLAGS) $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc ${dst}
67
68 - <Command.XCODE, Command.RVCT, Command.ARMGCC>
69 + <Command.XCODE, Command.RVCT, Command.ARMGCC, Command.ARMLINUXGCC>
70 GenFw -o $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc -g $(MODULE_GUID) --hiibinpackage $(HII_BINARY_PACKAGES)
71
72
73 diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
74 index 049f29b..20c0033 100755
75 --- a/BaseTools/Conf/tools_def.template
76 +++ b/BaseTools/Conf/tools_def.template
77 @@ -4178,6 +4178,64 @@ RELEASE_ARMGCC_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -mlittle-end
78 DEBUG_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARMGCC_CC_FLAGS) -combine -O0
79 RELEASE_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARMGCC_CC_FLAGS) -combine -Wno-unused
80
81 +####################################################################################
82 +#
83 +# ARM GNU/Linux GCC
84 +#
85 +####################################################################################
86 +# ARMLINUXGCC - ARM version of the GCC cross compiler
87 +
88 +*_ARMLINUXGCC_*_*_FAMILY = GCC
89 +*_ARMLINUXGCC_*_*_BUILDRULEFAMILY = ARMLINUXGCC
90 +
91 +*_ARMLINUXGCC_*_MAKE_PATH = make
92 +*_ARMLINUXGCC_*_MAKE_FLAGS = --no-print-directory
93 +
94 +##################
95 +# ASL definitions
96 +##################
97 +*_ARMLINUXGCC_*_ASL_PATH = DEF(UNIX_IASL_BIN)
98 +*_ARMLINUXGCC_*_ASL_FLAGS = DEF(IASL_FLAGS)
99 +*_ARMLINUXGCC_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
100 +*_ARMLINUXGCC_*_ASLPP_FLAGS = -x c -E -P
101 +*_ARMLINUXGCC_*_ASLCC_FLAGS = -x c
102 +*_ARMLINUXGCC_*_ASLDLINK_FLAGS = DEF(GCC_DLINK_FLAGS_COMMON) --entry _ReferenceAcpiTable
103 +
104 +##################
105 +# ARM definitions
106 +##################
107 +
108 +*_ARMLINUXGCC_ARM_ASLCC_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-gcc
109 +*_ARMLINUXGCC_ARM_ASLDLINK_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-ld
110 +*_ARMLINUXGCC_ARM_ASLPP_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-gcc
111 +
112 +*_ARMLINUXGCC_ARM_CC_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-gcc
113 +*_ARMLINUXGCC_ARM_SLINK_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-ar
114 +*_ARMLINUXGCC_ARM_DLINK_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-ld
115 +*_ARMLINUXGCC_ARM_ASM_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-as
116 +*_ARMLINUXGCC_ARM_PP_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-gcc
117 +*_ARMLINUXGCC_ARM_VFRPP_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-gcc
118 +
119 +#
120 +# Use default values, or override in DSC file
121 +#
122 +*_ARMLINUXGCC_ARM_ARCHCC_FLAGS = -mthumb
123 +*_ARMLINUXGCC_ARM_ARCHASM_FLAGS =
124 +*_ARMLINUXGCC_ARM_ARCHDLINK_FLAGS =
125 +*_ARMLINUXGCC_ARM_PLATFORM_FLAGS = -march=armv7-a
126 +
127 + DEBUG_ARMLINUXGCC_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -mlittle-endian -g
128 +RELEASE_ARMLINUXGCC_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -mlittle-endian
129 +
130 +*_ARMLINUXGCC_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h
131 +*_ARMLINUXGCC_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h
132 +
133 +*_ARMLINUXGCC_ARM_SLINK_FLAGS = -rc
134 +*_ARMLINUXGCC_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
135 +
136 + DEBUG_ARMLINUXGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARMGCC_CC_FLAGS) -Wno-address -O0
137 +RELEASE_ARMLINUXGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARMGCC_CC_FLAGS) -Wno-address -Wno-unused-but-set-variable
138 +
139 #################
140 # ASM 16 linker defintions
141 #################
142 --
143 1.7.5.1
144