<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Nov 2, 2021, at 12:45 PM, Bret Barkelew via <a href="http://groups.io" class="">groups.io</a> <<a href="mailto:bret.barkelew=microsoft.com@groups.io" class="">bret.barkelew=microsoft.com@groups.io</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta charset="UTF-8" class=""><div class="WordSection1" style="page: WordSection1; caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" class="">Good call. Maintainers, your opinion?</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" class="">- Bret<o:p class=""></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></div><div style="border-style: solid none none; border-top-width: 1pt; border-top-color: rgb(225, 225, 225); padding: 3pt 0in 0in;" class=""><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif; border: none; padding: 0in;" class=""><b class="">From:<span class="Apple-converted-space"> </span></b><a href="mailto:leif=nuviainc.com@groups.io" style="color: blue; text-decoration: underline;" class="">Leif Lindholm via groups.io</a><br class=""><b class="">Sent:<span class="Apple-converted-space"> </span></b>Tuesday, November 2, 2021 2:55 AM<br class=""><b class="">To:<span class="Apple-converted-space"> </span></b><a href="mailto:bret@corthon.com" style="color: blue; text-decoration: underline;" class="">brbarkel@microsoft.com</a><br class=""><b class="">Cc:<span class="Apple-converted-space"> </span></b><a href="mailto:devel@edk2.groups.io" style="color: blue; text-decoration: underline;" class="">devel@edk2.groups.io</a>;<span class="Apple-converted-space"> </span><a href="mailto:ardb+tianocore@kernel.org" style="color: blue; text-decoration: underline;" class="">Ard Biesheuvel</a>;<span class="Apple-converted-space"> </span><a href="mailto:bob.c.feng@intel.com" style="color: blue; text-decoration: underline;" class="">Feng, Bob C</a>;<span class="Apple-converted-space"> </span><a href="mailto:gaoliming@byosoft.com.cn" style="color: blue; text-decoration: underline;" class="">Liming Gao</a>;<span class="Apple-converted-space"> </span><a href="mailto:yuwei.chen@intel.com" style="color: blue; text-decoration: underline;" class="">Chen, Yuwei</a>;<span class="Apple-converted-space"> </span><a href="mailto:sean.brogan@microsoft.com" style="color: blue; text-decoration: underline;" class="">Sean Brogan</a><br class=""><b class="">Subject:<span class="Apple-converted-space"> </span></b>[EXTERNAL] Re: [edk2-devel] [PATCH v1 06/16] ArmPkg and BaseTools: Move the GccLto binaries from ArmPkg to BaseTools</div></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></div><p class="MsoNormal" style="margin: 0in 0in 12pt; font-size: 11pt; font-family: Calibri, sans-serif;">On Mon, Nov 01, 2021 at 12:56:38 -0700,<span class="Apple-converted-space"> </span><a href="mailto:brbarkel@microsoft.com" style="color: blue; text-decoration: underline;" class="">brbarkel@microsoft.com</a><span class="Apple-converted-space"> </span>wrote:<br class="">> From: Bret Barkelew <<a href="mailto:brbarkel@microsoft.com" style="color: blue; text-decoration: underline;" class="">brbarkel@microsoft.com</a>><br class="">><span class="Apple-converted-space"> </span><br class="">> This aligns better with Mu's philosophy around dependency structuring<br class="">> and is one of the steps to enable Basecore to have zero CI dependencies<br class="">> on other Mu repos.<br class="">><span class="Apple-converted-space"> </span><br class="">> REF:<span class="Apple-converted-space"> </span><a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugzilla.tianocore.org%2Fshow_bug.cgi%3Fid%3D3650&amp;data=04%7C01%7Cbret.barkelew%40microsoft.com%7Cc9129586336447a44c3908d99de6e1d1%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637714437251132216%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=ijjQG1L4fScVxSn5nIBQGrFHLVtNbuTfd0YYLGdw8sg%3D&amp;reserved=0" style="color: blue; text-decoration: underline;" class="">https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugzilla.tianocore.org%2Fshow_bug.cgi%3Fid%3D3650&amp;data=04%7C01%7Cbret.barkelew%40microsoft.com%7Cc9129586336447a44c3908d99de6e1d1%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637714437251132216%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=ijjQG1L4fScVxSn5nIBQGrFHLVtNbuTfd0YYLGdw8sg%3D&amp;reserved=0</a><br class="">><span class="Apple-converted-space"> </span><br class="">> Cc: Leif Lindholm <<a href="mailto:leif@nuviainc.com" style="color: blue; text-decoration: underline;" class="">leif@nuviainc.com</a>><br class="">> Cc: Ard Biesheuvel <<a href="mailto:ardb+tianocore@kernel.org" style="color: blue; text-decoration: underline;" class="">ardb+tianocore@kernel.org</a>><br class="">> Cc: Bob Feng <<a href="mailto:bob.c.feng@intel.com" style="color: blue; text-decoration: underline;" class="">bob.c.feng@intel.com</a>><br class="">> Cc: Liming Gao <<a href="mailto:gaoliming@byosoft.com.cn" style="color: blue; text-decoration: underline;" class="">gaoliming@byosoft.com.cn</a>><br class="">> Cc: Yuwei Chen <<a href="mailto:yuwei.chen@intel.com" style="color: blue; text-decoration: underline;" class="">yuwei.chen@intel.com</a>><br class="">> Cc: Sean Brogan <<a href="mailto:sean.brogan@microsoft.com" style="color: blue; text-decoration: underline;" class="">sean.brogan@microsoft.com</a>><br class="">> Signed-off-by: Bret Barkelew <<a href="mailto:bret.barkelew@microsoft.com" style="color: blue; text-decoration: underline;" class="">bret.barkelew@microsoft.com</a>><br class=""><br class="">No objections to this for any of my use-cases, but I'd like for one of<br class="">the BaseTools maintainers to comment on whether this breaks anything<br class="">with regards to EDK_TOOLS_PATH, or if we can finally get rid of that<br class="">and replace it with $WORKSPACE/BaseTools globally.<br class=""><br class=""></p></div></div></blockquote><div>Our internal repo uses EDK_TOOLS_PATH. In our case it is $(WORKSPACE)/edk2/BaseTools. We have a PACKAGES_PATH set to $(WORKSPACE)/edk2 and magic happens. </div><div><br class=""></div><div>So I’m thinking maybe:</div><div>  $(EDK_TOOLS_PATH)/Bin/GccLto</div><div>Vs:</div><div>  $(WORKSPACE)/BaseTools/Bin/GccLto</div><div><br class=""></div><div>If EDK_TOOLS_PATH gets ripped out, it should be one atomic remove, but let us not stick that on Bret. </div><div><br class=""></div><div>Thanks,</div><div><br class=""></div><div>Andrew Fish</div><br class=""><blockquote type="cite" class=""><div class=""><div class="WordSection1" style="page: WordSection1; caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><p class="MsoNormal" style="margin: 0in 0in 12pt; font-size: 11pt; font-family: Calibri, sans-serif;">/<br class="">    Leif<br class=""><br class="">> ---<br class="">>  {ArmPkg/Library => BaseTools/Bin}/GccLto/liblto-aarch64.a | Bin<br class="">>  {ArmPkg/Library => BaseTools/Bin}/GccLto/liblto-aarch64.s |   0<br class="">>  {ArmPkg/Library => BaseTools/Bin}/GccLto/liblto-arm.a     | Bin<br class="">>  {ArmPkg/Library => BaseTools/Bin}/GccLto/liblto-arm.s     |   0<br class="">>  BaseTools/Conf/tools_def.template                         |  19 ++++++++++---------<br class="">>  5 files changed, 10 insertions(+), 9 deletions(-)<br class="">><span class="Apple-converted-space"> </span><br class="">> diff --git a/ArmPkg/Library/GccLto/liblto-aarch64.a b/BaseTools/Bin/GccLto/liblto-aarch64.a<br class="">> similarity index 100%<br class="">> rename from ArmPkg/Library/GccLto/liblto-aarch64.a<br class="">> rename to BaseTools/Bin/GccLto/liblto-aarch64.a<br class="">> diff --git a/ArmPkg/Library/GccLto/liblto-aarch64.s b/BaseTools/Bin/GccLto/liblto-aarch64.s<br class="">> similarity index 100%<br class="">> rename from ArmPkg/Library/GccLto/liblto-aarch64.s<br class="">> rename to BaseTools/Bin/GccLto/liblto-aarch64.s<br class="">> diff --git a/ArmPkg/Library/GccLto/liblto-arm.a b/BaseTools/Bin/GccLto/liblto-arm.a<br class="">> similarity index 100%<br class="">> rename from ArmPkg/Library/GccLto/liblto-arm.a<br class="">> rename to BaseTools/Bin/GccLto/liblto-arm.a<br class="">> diff --git a/ArmPkg/Library/GccLto/liblto-arm.s b/BaseTools/Bin/GccLto/liblto-arm.s<br class="">> similarity index 100%<br class="">> rename from ArmPkg/Library/GccLto/liblto-arm.s<br class="">> rename to BaseTools/Bin/GccLto/liblto-arm.s<br class="">> diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template<br class="">> index 2e6b382ab623..cd8899d24d4a 100755<br class="">> --- a/BaseTools/Conf/tools_def.template<br class="">> +++ b/BaseTools/Conf/tools_def.template<br class="">> @@ -15,7 +15,8 @@<br class="">>  # 2.00 - Initial version with changes for CI<br class="">>  #      - Change RC path to use plugin<br class="">>  #<br class="">> -#!VERSION=2.00<br class="">> +# 2.10 - Move GccLto files to a tools path to be more repository layout agnostic<br class="">> +#!VERSION=2.10<br class="">> <span class="Apple-converted-space"> </span><br class="">>  IDENTIFIER = Default TOOL_CHAIN_CONF<br class="">> <span class="Apple-converted-space"> </span><br class="">> @@ -2386,10 +2387,10 @@ RELEASE_GCC5_X64_DLINK_FLAGS     = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os<br class="">>  *_GCC5_ARM_CC_XIPFLAGS           = DEF(GCC5_ARM_CC_XIPFLAGS)<br class="">> <span class="Apple-converted-space"> </span><br class="">>    DEBUG_GCC5_ARM_CC_FLAGS        = DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable<br class="">> -  DEBUG_GCC5_ARM_DLINK_FLAGS     = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm<br class="">> +  DEBUG_GCC5_ARM_DLINK_FLAGS     = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/BaseTools/Bin/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm<br class="">> <span class="Apple-converted-space"> </span><br class="">>  RELEASE_GCC5_ARM_CC_FLAGS        = DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable<br class="">> -RELEASE_GCC5_ARM_DLINK_FLAGS     = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm<br class="">> +RELEASE_GCC5_ARM_DLINK_FLAGS     = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/BaseTools/Bin/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm<br class="">> <span class="Apple-converted-space"> </span><br class="">>    NOOPT_GCC5_ARM_CC_FLAGS        = DEF(GCC5_ARM_CC_FLAGS) -O0<br class="">>    NOOPT_GCC5_ARM_DLINK_FLAGS     = DEF(GCC5_ARM_DLINK_FLAGS) -O0<br class="">> @@ -2420,11 +2421,11 @@ RELEASE_GCC5_ARM_DLINK_FLAGS     = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKS<br class="">>  *_GCC5_AARCH64_CC_XIPFLAGS       = DEF(GCC5_AARCH64_CC_XIPFLAGS)<br class="">> <span class="Apple-converted-space"> </span><br class="">>    DEBUG_GCC5_AARCH64_CC_FLAGS    = DEF(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable<br class="">> -  DEBUG_GCC5_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -Wno-lto-type-mismatch<br class="">> +  DEBUG_GCC5_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/BaseTools/Bin/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -Wno-lto-type-mismatch<br class="">>    DEBUG_GCC5_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20<br class="">> <span class="Apple-converted-space"> </span><br class="">>  RELEASE_GCC5_AARCH64_CC_FLAGS    = DEF(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable<br class="">> -RELEASE_GCC5_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -Wno-lto-type-mismatch<br class="">> +RELEASE_GCC5_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/BaseTools/Bin/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -Wno-lto-type-mismatch<br class="">>  RELEASE_GCC5_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20<br class="">> <span class="Apple-converted-space"> </span><br class="">>    NOOPT_GCC5_AARCH64_CC_FLAGS    = DEF(GCC5_AARCH64_CC_FLAGS) -O0<br class="">> @@ -2681,11 +2682,11 @@ DEFINE CLANG38_ARM_DLINK_FLAGS   = DEF(CLANG38_ARM_TARGET) DEF(GCC_ARM_DLINK_FLA<br class="">>  *_CLANG38_ARM_CC_XIPFLAGS        = DEF(GCC_ARM_CC_XIPFLAGS)<br class="">> <span class="Apple-converted-space"> </span><br class="">>    DEBUG_CLANG38_ARM_CC_FLAGS     = DEF(CLANG38_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -flto -O1<br class="">> -  DEBUG_CLANG38_ARM_DLINK_FLAGS  = DEF(CLANG38_ARM_DLINK_FLAGS) -flto -Wl,-O1 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm<br class="">> +  DEBUG_CLANG38_ARM_DLINK_FLAGS  = DEF(CLANG38_ARM_DLINK_FLAGS) -flto -Wl,-O1 -L$(WORKSPACE)/BaseTools/Bin/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm<br class="">>    NOOPT_CLANG38_ARM_CC_FLAGS     = DEF(CLANG38_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O0<br class="">>    NOOPT_CLANG38_ARM_DLINK_FLAGS  = DEF(CLANG38_ARM_DLINK_FLAGS)<br class="">>  RELEASE_CLANG38_ARM_CC_FLAGS     = DEF(CLANG38_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -flto -O3<br class="">> -RELEASE_CLANG38_ARM_DLINK_FLAGS  = DEF(CLANG38_ARM_DLINK_FLAGS) -flto -Wl,-O3 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm<br class="">> +RELEASE_CLANG38_ARM_DLINK_FLAGS  = DEF(CLANG38_ARM_DLINK_FLAGS) -flto -Wl,-O3 -L$(WORKSPACE)/BaseTools/Bin/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm<br class="">> <span class="Apple-converted-space"> </span><br class="">>  ##################<br class="">>  # CLANG38 AARCH64 definitions<br class="">> @@ -2727,11 +2728,11 @@ DEFINE CLANG38_AARCH64_DLINK_FLAGS  = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH6<br class="">>  *_CLANG38_AARCH64_CC_XIPFLAGS    = DEF(GCC_AARCH64_CC_XIPFLAGS)<br class="">> <span class="Apple-converted-space"> </span><br class="">>    DEBUG_CLANG38_AARCH64_CC_FLAGS    = DEF(CLANG38_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -flto -O1<br class="">> -  DEBUG_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_DLINK_FLAGS) -flto -Wl,-O1 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64<br class="">> +  DEBUG_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_DLINK_FLAGS) -flto -Wl,-O1 -L$(WORKSPACE)/BaseTools/Bin/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64<br class="">>    NOOPT_CLANG38_AARCH64_CC_FLAGS    = DEF(CLANG38_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O0<br class="">>    NOOPT_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_DLINK_FLAGS)<br class="">>  RELEASE_CLANG38_AARCH64_CC_FLAGS    = DEF(CLANG38_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -flto -O3<br class="">> -RELEASE_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_DLINK_FLAGS) -flto -Wl,-O3 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64<br class="">> +RELEASE_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_DLINK_FLAGS) -flto -Wl,-O3 -L$(WORKSPACE)/BaseTools/Bin/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64<br class="">> <span class="Apple-converted-space"> </span><br class="">>  ####################################################################################<br class="">>  #<br class="">> --<span class="Apple-converted-space"> </span><br class="">> 2.31.1.windows.1<br class="">><span class="Apple-converted-space"> </span><br class=""><br class=""><br class=""><br class=""><br class=""><o:p class=""></o:p></p><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></div></div></div></blockquote></div><br class=""></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/83195">View/Reply Online (#83195)</a> |    |  <a target="_blank" href="https://groups.io/mt/86779903/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>