<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@DengXian";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 129.75pt 1.0in 129.7pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:447891913;
        mso-list-type:hybrid;
        mso-list-template-ids:203992774 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Some suggestions:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<ol style="margin-top:0in" start="1" type="1">
<li class="MsoPlainText" style="mso-list:l0 level1 lfo1">There are many blanks appending the line “+        "$(DLINK)" -o ${dst} $(DLINK_FLAGS) @$(STATIC_LIBRARY_FILES_LIST)       
<span lang="ZH-CN" style="font-family:DengXian">“</span><o:p></o:p></li></ol>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><img width="706" height="83" style="width:7.3541in;height:.8645in" id="Picture_x0020_1" src="cid:image001.png@01D75263.998291F0"><o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<ol style="margin-top:0in" start="2" type="1">
<li class="MsoPlainText" style="mso-list:l0 level1 lfo1">We need a toolchain dependency descirption in the BaseTools\Conf\tools_def.template. Below is the example for CLANGPDB. Please add one for the CLANGDWARF.<o:p></o:p></li></ol>
<p class="MsoPlainText">#   CLANGPDB -Linux, Windows, Mac-  Requires:<o:p></o:p></p>
<p class="MsoPlainText">#                             Clang 9 or above from http://releases.llvm.org/<o:p></o:p></p>
<p class="MsoPlainText">#                        Optional:<o:p></o:p></p>
<p class="MsoPlainText">#                             Required to compile nasm source:<o:p></o:p></p>
<p class="MsoPlainText">#                               nasm compiler from<o:p></o:p></p>
<p class="MsoPlainText">#                               NASM -- http://www.nasm.us/<o:p></o:p></p>
<p class="MsoPlainText">#                             Required to build platforms or ACPI tables:<o:p></o:p></p>
<p class="MsoPlainText">#                               Intel(r) ACPI Compiler from<o:p></o:p></p>
<p class="MsoPlainText">#                               <a href="https://acpica.org/downloads">
https://acpica.org/downloads</a><o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<ol style="margin-top:0in" start="3" type="1">
<li class="MsoPlainText" style="mso-list:l0 level1 lfo1">We could merge the CLANG38 and the CLANGDWARF toolchains together in the future.<o:p></o:p></li></ol>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Thanks<o:p></o:p></p>
<p class="MsoPlainText">Steven Shi<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">> -----Original Message-----</p>
<p class="MsoPlainText">> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Ni, Ray</p>
<p class="MsoPlainText">> Sent: Wednesday, May 26, 2021 4:23 PM</p>
<p class="MsoPlainText">> To: devel@edk2.groups.io</p>
<p class="MsoPlainText">> Subject: [edk2-devel] [PATCH 1/4] BaseTools: Create CLANGDWARF</p>
<p class="MsoPlainText">> toolchain</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> Signed-off-by: Ray Ni <<a href="mailto:ray.ni@intel.com"><span style="color:windowtext;text-decoration:none">ray.ni@intel.com</span></a>></p>
<p class="MsoPlainText">> ---</p>
<p class="MsoPlainText">>  BaseTools/Conf/build_rule.template | 10 ++-</p>
<p class="MsoPlainText">>  BaseTools/Conf/tools_def.template  | 98</p>
<p class="MsoPlainText">> ++++++++++++++++++++++++++++++</p>
<p class="MsoPlainText">>  2 files changed, 107 insertions(+), 1 deletion(-)</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> diff --git a/BaseTools/Conf/build_rule.template</p>
<p class="MsoPlainText">> b/BaseTools/Conf/build_rule.template</p>
<p class="MsoPlainText">> index 1395792cd6..e69f963cc8 100755</p>
<p class="MsoPlainText">> --- a/BaseTools/Conf/build_rule.template</p>
<p class="MsoPlainText">> +++ b/BaseTools/Conf/build_rule.template</p>
<p class="MsoPlainText">> @@ -293,7 +293,10 @@</p>
<p class="MsoPlainText">>      <ExtraDependency></p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">>          $(MAKE_FILE)</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> -    <OutputFile></p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +    <OutputFile.CLANGDWARF></p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +        $(DEBUG_DIR)(+)$(MODULE_NAME).elf</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +    <OutputFile.MSFT, OutputFile.INTEL, OutputFile.GCC></p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">>          $(DEBUG_DIR)(+)$(MODULE_NAME).dll</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">>      <Command.MSFT, Command.INTEL></p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> @@ -303,6 +306,11 @@</p>
<p class="MsoPlainText">>      <Command.CLANGPDB></p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">>          "$(DLINK)" /OUT:${dst} $(DLINK_FLAGS) $(DLINK_SPATH)</p>
<p class="MsoPlainText">> @$(STATIC_LIBRARY_FILES_LIST) $(DLINK2_FLAGS)</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +    <Command.CLANGDWARF></p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +        "$(DLINK)" -o ${dst} $(DLINK_FLAGS) @$(STATIC_LIBRARY_FILES_LIST)</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +        "$(CP)" ${dst} $(DEBUG_DIR)(+)$(MODULE_NAME).debug</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +        "$(OBJCOPY)" --strip-unneeded -R .eh_frame ${dst}</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">>      <Command.GCC></p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">>          "$(DLINK)" -o ${dst} $(DLINK_FLAGS) -Wl,--start-</p>
<p class="MsoPlainText">> group,@$(STATIC_LIBRARY_FILES_LIST),--end-group $(CC_FLAGS)</p>
<p class="MsoPlainText">> $(DLINK2_FLAGS)</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">>          "$(OBJCOPY)" $(OBJCOPY_FLAGS) ${dst}</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> diff --git a/BaseTools/Conf/tools_def.template</p>
<p class="MsoPlainText">> b/BaseTools/Conf/tools_def.template</p>
<p class="MsoPlainText">> index 498696e583..390e297cc1 100755</p>
<p class="MsoPlainText">> --- a/BaseTools/Conf/tools_def.template</p>
<p class="MsoPlainText">> +++ b/BaseTools/Conf/tools_def.template</p>
<p class="MsoPlainText">> @@ -2828,6 +2828,104 @@ NOOPT_CLANGPDB_X64_DLINK_FLAGS      =</p>
<p class="MsoPlainText">> /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:RE</p>
<p class="MsoPlainText">>  NOOPT_CLANGPDB_X64_DLINK2_FLAGS     =</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">>  NOOPT_CLANGPDB_X64_GENFW_FLAGS      = --keepexceptiontable</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +#########################################################</p>
<p class="MsoPlainText">> ###########################</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +#</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +# CLANGDWARF - This configuration is used to compile under</p>
<p class="MsoPlainText">> Windows/Linux/Mac to produce</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +#  ELF binaries using LLVM/Clang/LLD with Link Time Optimization enabled</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +#</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +#########################################################</p>
<p class="MsoPlainText">> ###########################</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_*_*_FAMILY             = GCC</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_*_*_BUILDRULEFAMILY    = CLANGDWARF</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_*_MAKE_PATH            = ENV(CLANG_HOST_BIN)make</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_*_*_DLL                = ENV(CLANGPDB_DLL)</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_*_ASL_PATH             = DEF(UNIX_IASL_BIN)</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_*_APP_FLAGS            =</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_*_ASL_FLAGS            = DEF(DEFAULT_WIN_ASL_FLAGS)</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_*_ASL_OUTFLAGS         =</p>
<p class="MsoPlainText">> DEF(DEFAULT_WIN_ASL_OUTFLAGS)</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_*_ASLDLINK_FLAGS       = DEF(MSFT_ASLDLINK_FLAGS)</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_*_DEPS_FLAGS           = DEF(GCC_DEPS_FLAGS)</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +DEFINE CLANGDWARF_IA32_PREFIX       = ENV(CLANG_BIN)</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +DEFINE CLANGDWARF_X64_PREFIX        = ENV(CLANG_BIN)</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +DEFINE CLANGDWARF_IA32_TARGET       = -target i686-pc-linux-gnu</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +DEFINE CLANGDWARF_X64_TARGET        = -target x86_64-pc-linux-gnu</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +DEFINE CLANGDWARF_WARNING_OVERRIDES = -Wno-parentheses-</p>
<p class="MsoPlainText">> equality -Wno-tautological-compare -Wno-tautological-constant-out-of-</p>
<p class="MsoPlainText">> range-compare -Wno-empty-body -Wno-unused-const-variable -Wno-</p>
<p class="MsoPlainText">> varargs -Wno-unknown-warning-option -Wno-microsoft-enum-forward-</p>
<p class="MsoPlainText">> reference</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +DEFINE CLANGDWARF_ALL_CC_FLAGS      = DEF(GCC48_ALL_CC_FLAGS)</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_WARNING_OVERRIDES) -fno-stack-protector -</p>
<p class="MsoPlainText">> funsigned-char -ftrap-</p>
<p class="MsoPlainText">> function=undefined_behavior_has_been_optimized_away_by_clang -Wno-</p>
<p class="MsoPlainText">> address -Wno-shift-negative-value -Wno-unknown-pragmas -Wno-</p>
<p class="MsoPlainText">> incompatible-library-redeclaration -Wno-null-dereference -mno-implicit-</p>
<p class="MsoPlainText">> float -mms-bitfields -mno-stack-arg-probe -nostdlib -nostdlibinc -fseh-</p>
<p class="MsoPlainText">> exceptions</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +###########################</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +# CLANGDWARF IA32 definitions</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +###########################</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_IA32_CC_PATH              =</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_IA32_PREFIX)clang</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_IA32_SLINK_PATH           =</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_IA32_PREFIX)llvm-ar</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_IA32_DLINK_PATH           =</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_IA32_PREFIX)ld.lld</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_IA32_ASLDLINK_PATH        =</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_IA32_PREFIX)clang</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_IA32_ASM_PATH             =</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_IA32_PREFIX)clang</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_IA32_PP_PATH              =</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_IA32_PREFIX)clang</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_IA32_VFRPP_PATH           =</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_IA32_PREFIX)clang</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_IA32_ASLCC_PATH           =</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_IA32_PREFIX)clang</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_IA32_ASLPP_PATH           =</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_IA32_PREFIX)clang</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_IA32_OBJCOPY_PATH         =</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_IA32_PREFIX)llvm-objcopy</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_IA32_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m32</p>
<p class="MsoPlainText">> -fno-lto DEF(CLANGDWARF_IA32_TARGET)</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_IA32_ASM_FLAGS            = DEF(GCC_ASM_FLAGS) -m32 -</p>
<p class="MsoPlainText">> march=i386 DEF(CLANGDWARF_IA32_TARGET)</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_IA32_OBJCOPY_FLAGS        =</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_IA32_NASM_FLAGS           = -f elf32</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_IA32_PP_FLAGS             = DEF(GCC_PP_FLAGS)</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_IA32_TARGET)</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_IA32_ASLPP_FLAGS          = DEF(GCC_ASLPP_FLAGS)</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_IA32_TARGET)</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_IA32_VFRPP_FLAGS          = DEF(GCC_VFRPP_FLAGS)</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_IA32_TARGET)</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +DEBUG_CLANGDWARF_IA32_CC_FLAGS         =</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_IA32_TARGET) -g</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +DEBUG_CLANGDWARF_IA32_DLINK_FLAGS      = --eh-frame-hdr -q --gc-</p>
<p class="MsoPlainText">> sections -z common-page-size=0x40 --entry $(IMAGE_ENTRY_POINT) -Map</p>
<p class="MsoPlainText">> $(DEST_DIR_DEBUG)/$(BASE_NAME).map --whole-archive -O3 -melf_i386 --</p>
<p class="MsoPlainText">> format=elf</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +DEBUG_CLANGDWARF_IA32_DLINK2_FLAGS     =</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +RELEASE_CLANGDWARF_IA32_CC_FLAGS       =</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_IA32_TARGET)</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +RELEASE_CLANGDWARF_IA32_DLINK_FLAGS    = --eh-frame-hdr -q --gc-</p>
<p class="MsoPlainText">> sections -z common-page-size=0x40 --entry $(IMAGE_ENTRY_POINT) -Map</p>
<p class="MsoPlainText">> $(DEST_DIR_DEBUG)/$(BASE_NAME).map --whole-archive -O3 -melf_i386 --</p>
<p class="MsoPlainText">> format=elf</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +RELEASE_CLANGDWARF_IA32_DLINK2_FLAGS   =</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +NOOPT_CLANGDWARF_IA32_CC_FLAGS         =</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_ALL_CC_FLAGS) -m32 -O0 -march=i586</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_IA32_TARGET) -g</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +NOOPT_CLANGDWARF_IA32_DLINK_FLAGS      = --eh-frame-hdr -q --gc-</p>
<p class="MsoPlainText">> sections -z common-page-size=0x40 --entry $(IMAGE_ENTRY_POINT) -Map</p>
<p class="MsoPlainText">> $(DEST_DIR_DEBUG)/$(BASE_NAME).map --whole-archive -O0 -melf_i386 --</p>
<p class="MsoPlainText">> format=elf</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +NOOPT_CLANGDWARF_IA32_DLINK2_FLAGS     =</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +##########################</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +# CLANGDWARF X64 definitions</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +##########################</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_X64_CC_PATH              =</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_X64_PREFIX)clang</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_X64_SLINK_PATH           =</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_X64_PREFIX)llvm-ar</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_X64_DLINK_PATH           =</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_X64_PREFIX)ld.lld</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_X64_ASLDLINK_PATH        =</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_X64_PREFIX)clang</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_X64_ASM_PATH             =</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_X64_PREFIX)clang</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_X64_PP_PATH              =</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_X64_PREFIX)clang</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_X64_VFRPP_PATH           =</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_X64_PREFIX)clang</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_X64_ASLCC_PATH           =</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_X64_PREFIX)clang</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_X64_ASLPP_PATH           =</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_X64_PREFIX)clang</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_X64_OBJCOPY_PATH         =</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_IA32_PREFIX)llvm-objcopy</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_X64_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m64</p>
<p class="MsoPlainText">> -fno-lto DEF(CLANGDWARF_X64_TARGET)</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_X64_ASM_FLAGS            = DEF(GCC_ASM_FLAGS) -m64</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_X64_TARGET)</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_X64_OBJCOPY_FLAGS        =</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_X64_NASM_FLAGS           = -f elf64</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_X64_PP_FLAGS             = DEF(GCC_PP_FLAGS)</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_X64_TARGET)</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_X64_ASLPP_FLAGS          = DEF(GCC_ASLPP_FLAGS)</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_X64_TARGET)</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +*_CLANGDWARF_X64_VFRPP_FLAGS          = DEF(GCC_VFRPP_FLAGS)</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_X64_TARGET)</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +DEBUG_CLANGDWARF_X64_CC_FLAGS         =</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 "-</p>
<p class="MsoPlainText">> DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz</p>
<p class="MsoPlainText">> -flto DEF(CLANGDWARF_X64_TARGET) -g</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +DEBUG_CLANGDWARF_X64_DLINK_FLAGS      = --eh-frame-hdr -q --gc-</p>
<p class="MsoPlainText">> sections -z common-page-size=0x40 --entry $(IMAGE_ENTRY_POINT) -Map</p>
<p class="MsoPlainText">> $(DEST_DIR_DEBUG)/$(BASE_NAME).map --whole-archive -O3 -</p>
<p class="MsoPlainText">> melf_x86_64 --format=elf -pie</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +DEBUG_CLANGDWARF_X64_DLINK2_FLAGS     =</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +DEBUG_CLANGDWARF_X64_GENFW_FLAGS      = --keepexceptiontable</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +RELEASE_CLANGDWARF_X64_CC_FLAGS       =</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 "-</p>
<p class="MsoPlainText">> DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz</p>
<p class="MsoPlainText">> -flto DEF(CLANGDWARF_X64_TARGET)</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +RELEASE_CLANGDWARF_X64_DLINK_FLAGS    = --eh-frame-hdr -q --gc-</p>
<p class="MsoPlainText">> sections -z common-page-size=0x40 --entry $(IMAGE_ENTRY_POINT) -Map</p>
<p class="MsoPlainText">> $(DEST_DIR_DEBUG)/$(BASE_NAME).map --whole-archive -O3 -</p>
<p class="MsoPlainText">> melf_x86_64 --format=elf -pie</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +RELEASE_CLANGDWARF_X64_DLINK2_FLAGS   =</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +RELEASE_CLANGDWARF_X64_GENFW_FLAGS    =</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +NOOPT_CLANGDWARF_X64_CC_FLAGS         =</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 "-</p>
<p class="MsoPlainText">> DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -O0</p>
<p class="MsoPlainText">> DEF(CLANGDWARF_X64_TARGET) -g</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +NOOPT_CLANGDWARF_X64_DLINK_FLAGS      = --eh-frame-hdr -q --gc-</p>
<p class="MsoPlainText">> sections -z common-page-size=0x40 --entry $(IMAGE_ENTRY_POINT) -Map</p>
<p class="MsoPlainText">> $(DEST_DIR_DEBUG)/$(BASE_NAME).map --whole-archive -O0 -</p>
<p class="MsoPlainText">> melf_x86_64 --format=elf -pie</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +NOOPT_CLANGDWARF_X64_DLINK2_FLAGS     =</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +NOOPT_CLANGDWARF_X64_GENFW_FLAGS      = --keepexceptiontable</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> +</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">>  #</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">>  #</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">>  # XCODE5 support</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> --</p>
<p class="MsoPlainText">> 2.31.1.windows.1</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText">> -=-=-=-=-=-=</p>
<p class="MsoPlainText">> Groups.io Links: You receive all messages sent to this group.</p>
<p class="MsoPlainText">> View/Reply Online (#75599): <a href="https://edk2.groups.io/g/devel/message/75599">
<span style="color:windowtext;text-decoration:none">https://edk2.groups.io/g/devel/message/75599</span></a></p>
<p class="MsoPlainText">> Mute This Topic: <a href="https://groups.io/mt/83095853/1781003">
<span style="color:windowtext;text-decoration:none">https://groups.io/mt/83095853/1781003</span></a></p>
<p class="MsoPlainText">> Group Owner: <a href="mailto:devel+owner@edk2.groups.io">
<span style="color:windowtext;text-decoration:none">devel+owner@edk2.groups.io</span></a></p>
<p class="MsoPlainText">> Unsubscribe: <a href="https://edk2.groups.io/g/devel/unsub">
<span style="color:windowtext;text-decoration:none">https://edk2.groups.io/g/devel/unsub</span></a> [steven.shi@intel.com]</p>
<p class="MsoPlainText">> -=-=-=-=-=-=</p>
<p class="MsoPlainText">> </p>
<p class="MsoPlainText"><o:p> </o:p></p>
</div>
</body>
</html>


 <div width="1" style="color:white;clear:both">_._,_._,_</div> <hr>   Groups.io Links:<p>   You receive all messages sent to this group.    <p> <a target="_blank" href="https://edk2.groups.io/g/devel/message/75646">View/Reply Online (#75646)</a> |    |  <a target="_blank" href="https://groups.io/mt/83095853/1813853">Mute This Topic</a>  | <a href="https://edk2.groups.io/g/devel/post">New Topic</a><br>    <a href="https://edk2.groups.io/g/devel/editsub/1813853">Your Subscription</a> | <a href="mailto:devel+owner@edk2.groups.io">Contact Group Owner</a> |  <a href="https://edk2.groups.io/g/devel/unsub">Unsubscribe</a>  [edk2-devel-archive@redhat.com]<br> <div width="1" style="color:white;clear:both">_._,_._,_</div>