LTO option can achieve the better image size and boot performance.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao <[email protected]>
Cc: Andrew Fish <[email protected]>
---
BaseTools/Conf/tools_def.template | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/BaseTools/Conf/tools_def.template
b/BaseTools/Conf/tools_def.template
index a22b96c..f9bd41e 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -6824,9 +6824,9 @@ RELEASE_XCODE5_*_MTOC_FLAGS = -align 0x20
####################
# IA-32 definitions
####################
- DEBUG_XCODE5_IA32_DLINK_FLAGS = -arch i386 -u _$(IMAGE_ENTRY_POINT) -e
_$(IMAGE_ENTRY_POINT) -preload -segalign 0x20 -pie -all_load -dead_strip
-seg1addr 0x240 -read_only_relocs suppress -map
$(DEST_DIR_DEBUG)/$(BASE_NAME).map
+ DEBUG_XCODE5_IA32_DLINK_FLAGS = -arch i386 -u _$(IMAGE_ENTRY_POINT) -e
_$(IMAGE_ENTRY_POINT) -preload -segalign 0x20 -pie -all_load -dead_strip
-seg1addr 0x240 -read_only_relocs suppress -map
$(DEST_DIR_DEBUG)/$(BASE_NAME).map -object_path_lto
$(DEST_DIR_DEBUG)/$(BASE_NAME).lto
NOOPT_XCODE5_IA32_DLINK_FLAGS = -arch i386 -u _$(IMAGE_ENTRY_POINT) -e
_$(IMAGE_ENTRY_POINT) -preload -segalign 0x20 -pie -all_load -dead_strip
-seg1addr 0x240 -read_only_relocs suppress -map
$(DEST_DIR_DEBUG)/$(BASE_NAME).map
-RELEASE_XCODE5_IA32_DLINK_FLAGS = -arch i386 -u _$(IMAGE_ENTRY_POINT) -e
_$(IMAGE_ENTRY_POINT) -preload -segalign 0x20 -pie -all_load -dead_strip
-seg1addr 0x240 -read_only_relocs suppress -map
$(DEST_DIR_DEBUG)/$(BASE_NAME).map
+RELEASE_XCODE5_IA32_DLINK_FLAGS = -arch i386 -u _$(IMAGE_ENTRY_POINT) -e
_$(IMAGE_ENTRY_POINT) -preload -segalign 0x20 -pie -all_load -dead_strip
-seg1addr 0x240 -read_only_relocs suppress -map
$(DEST_DIR_DEBUG)/$(BASE_NAME).map -object_path_lto
$(DEST_DIR_DEBUG)/$(BASE_NAME).lto
*_XCODE5_IA32_SLINK_FLAGS = -static -o
DEBUG_XCODE5_IA32_ASM_FLAGS = -arch i386 -g
@@ -6835,16 +6835,16 @@ RELEASE_XCODE5_IA32_ASM_FLAGS = -arch i386
*_XCODE5_IA32_NASM_FLAGS = -f macho32
- DEBUG_XCODE5_IA32_CC_FLAGS = -arch i386 -c -g -Os -Wall -Werror
-include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin
-fshort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields
-msoft-float -Wno-unused-parameter -Wno-missing-braces
-Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare
-Wno-varargs
-ftrap-function=undefined_behavior_has_been_optimized_away_by_clang
$(PLATFORM_FLAGS)
-RELEASE_XCODE5_IA32_CC_FLAGS = -arch i386 -c -Os -Wall -Werror
-include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin
-fshort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields
-msoft-float -Wno-unused-parameter -Wno-missing-braces
-Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare
-Wno-varargs -Wno-unused-const-variable
-ftrap-function=undefined_behavior_has_been_optimized_away_by_clang
$(PLATFORM_FLAGS)
+ DEBUG_XCODE5_IA32_CC_FLAGS = -arch i386 -c -g -Os -flto -Wall -Werror
-include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin
-fshort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields
-msoft-float -Wno-unused-parameter -Wno-missing-braces
-Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare
-Wno-varargs
-ftrap-function=undefined_behavior_has_been_optimized_away_by_clang
$(PLATFORM_FLAGS)
+RELEASE_XCODE5_IA32_CC_FLAGS = -arch i386 -c -Os -flto -Wall -Werror
-include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin
-fshort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields
-msoft-float -Wno-unused-parameter -Wno-missing-braces
-Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare
-Wno-varargs -Wno-unused-const-variable
-ftrap-function=undefined_behavior_has_been_optimized_away_by_clang
$(PLATFORM_FLAGS)
NOOPT_XCODE5_IA32_CC_FLAGS = -arch i386 -c -g -O0 -Wall -Werror
-include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin
-fshort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields
-msoft-float -Wno-unused-parameter -Wno-missing-braces
-Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare
-Wno-varargs
-ftrap-function=undefined_behavior_has_been_optimized_away_by_clang
$(PLATFORM_FLAGS)
##################
# X64 definitions
##################
- DEBUG_XCODE5_X64_DLINK_FLAGS = -arch x86_64 -u _$(IMAGE_ENTRY_POINT) -e
_$(IMAGE_ENTRY_POINT) -preload -segalign 0x20 -pie -all_load -dead_strip
-seg1addr 0x240 -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
+ DEBUG_XCODE5_X64_DLINK_FLAGS = -arch x86_64 -u _$(IMAGE_ENTRY_POINT) -e
_$(IMAGE_ENTRY_POINT) -preload -segalign 0x20 -pie -all_load -dead_strip
-seg1addr 0x240 -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map -object_path_lto
$(DEST_DIR_DEBUG)/$(BASE_NAME).lto
NOOPT_XCODE5_X64_DLINK_FLAGS = -arch x86_64 -u _$(IMAGE_ENTRY_POINT) -e
_$(IMAGE_ENTRY_POINT) -preload -segalign 0x20 -pie -all_load -dead_strip
-seg1addr 0x240 -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
-RELEASE_XCODE5_X64_DLINK_FLAGS = -arch x86_64 -u _$(IMAGE_ENTRY_POINT) -e
_$(IMAGE_ENTRY_POINT) -preload -segalign 0x20 -pie -all_load -dead_strip
-seg1addr 0x240 -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
+RELEASE_XCODE5_X64_DLINK_FLAGS = -arch x86_64 -u _$(IMAGE_ENTRY_POINT) -e
_$(IMAGE_ENTRY_POINT) -preload -segalign 0x20 -pie -all_load -dead_strip
-seg1addr 0x240 -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map -object_path_lto
$(DEST_DIR_DEBUG)/$(BASE_NAME).lto
*_XCODE5_X64_SLINK_FLAGS = -static -o
DEBUG_XCODE5_X64_ASM_FLAGS = -arch x86_64 -g
@@ -6854,9 +6854,9 @@ RELEASE_XCODE5_X64_ASM_FLAGS = -arch x86_64
*_XCODE5_*_PP_FLAGS = -E -x assembler-with-cpp -include
$(DEST_DIR_DEBUG)/AutoGen.h
*_XCODE5_*_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE -include
$(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h
- DEBUG_XCODE5_X64_CC_FLAGS = -target x86_64-pc-win32-macho -c -g -Os
-Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions
-fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float
-mms-bitfields -Wno-unused-parameter -Wno-missing-braces
-Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare
-Wno-varargs
-ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D
NO_MSABI_VA_FUNCS $(PLATFORM_FLAGS)
+ DEBUG_XCODE5_X64_CC_FLAGS = -target x86_64-pc-win32-macho -c -g -Os -flto
-Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions
-fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float
-mms-bitfields -Wno-unused-parameter -Wno-missing-braces
-Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare
-Wno-varargs
-ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D
NO_MSABI_VA_FUNCS $(PLATFORM_FLAGS)
NOOPT_XCODE5_X64_CC_FLAGS = -target x86_64-pc-win32-macho -c -g -O0
-Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions
-fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float
-mms-bitfields -Wno-unused-parameter -Wno-missing-braces
-Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare
-Wno-varargs
-ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D
NO_MSABI_VA_FUNCS $(PLATFORM_FLAGS)
-RELEASE_XCODE5_X64_CC_FLAGS = -target x86_64-pc-win32-macho -c -Os
-Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions
-fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float
-mms-bitfields -Wno-unused-parameter -Wno-missing-braces
-Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare
-Wno-varargs -Wno-unused-const-variable
-ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D
NO_MSABI_VA_FUNCS $(PLATFORM_FLAGS)
+RELEASE_XCODE5_X64_CC_FLAGS = -target x86_64-pc-win32-macho -c -Os -flto
-Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions
-fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float
-mms-bitfields -Wno-unused-parameter -Wno-missing-braces
-Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare
-Wno-varargs -Wno-unused-const-variable
-ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D
NO_MSABI_VA_FUNCS $(PLATFORM_FLAGS)
####################################################################################
#
--
2.10.0.windows.1
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel