From mboxrd@z Thu Jan  1 00:00:00 1970
Received: from na01-obe.outbound.protection.outlook.com (na01-obe.outbound.protection.outlook.com [52.101.61.27])
 by mx.groups.io with SMTP id smtpd.web09.9945.1635955865729885420
 for <devel@edk2.groups.io>;
 Wed, 03 Nov 2021 09:11:06 -0700
Authentication-Results: mx.groups.io;
 dkim=pass header.i=@microsoft.com header.s=selector2 header.b=KSsQQa81;
 spf=pass (domain: microsoft.com, ip: 52.101.61.27, mailfrom: bret.barkelew@microsoft.com)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=E7iC1+TcY7vzuvncSoei6mEhjqLaYgxP1B83mUGHmqK70H053NB7lS4f+w7hY69091lkK3A37JXfkiNFBZLVw38x4gWuKL6YC7wwdJWpgA3edn3T6Tf0jiEeMxywsNUBBPWTdlG9o2kjo+uytAnO0xaAg/UufA3D1AYzOqpQnjy6x4N+baN2Tzr6aaGkrG5LSvNrzstozWepvssLeUbthCWp3HgUF5HGNn28qgKF5i1gjI08FVWJjopgd72txS8nc7bJq1MQ43d8w9QVZAojLNi6t8GjpHRbob8QOSgW+s2wf9KuGeK+jmcmqJPQhvggixh9SDd5NM/4AXmDubCJFA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KF8eJOoLWUhQ+bEsw5m9EjltXDwIDxd3cBiqvfSV/AU=;
 b=CcCvFKKud8UpvL5mxhFXVcz3cCv1tI0cGEvZpBGPRa/YzuOpEB3Fpu+vXvMGK212ZQ6aM3oaBFJJZ1t77QcoBYcQ0pQgHVCGTffgcs3abuX6P7Dcazx2kZcOXaKDamUoObZz2mxmOOACFhBsYhWj1uv9uIZkU68zYjz6hSXVgLBGs+BMQUXI5V0Bm4i2EMD2GltXX8UDVMy1S2Hkc2SLLwsqYTZ9preDPyWjJdGC4GalTQIXioyGXZ8cUpAf79ah0mjKHqMUgtS3+rJea6lVFyVgZCk9uqkFWZ5UZAhX7pM4Wvvypk02ONvSeeNsPycOhSpjQF3RFDJb244b8N88FQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=microsoft.com; dmarc=pass action=none
 header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KF8eJOoLWUhQ+bEsw5m9EjltXDwIDxd3cBiqvfSV/AU=;
 b=KSsQQa81HpQQRnmbuey/O5Kp+BG5eIIt35c7KSTpW/4WRbJ9CLNlVmS8KkbAGvtkIti2hixja07LlfrDwMpgiYmy1AHwXvIrGpbf/+L//34UGMoHvxpQg1CCqM2oYKlFPbhKRFBat0Bgb0EPEoyroNa2ZzKkKyLVx4KZSENDg7M=
Received: from MW4PR21MB1907.namprd21.prod.outlook.com (2603:10b6:303:71::8)
 by MW4PR21MB2075.namprd21.prod.outlook.com (2603:10b6:303:122::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.3; Wed, 3 Nov
 2021 16:08:55 +0000
Received: from MW4PR21MB1907.namprd21.prod.outlook.com
 ([fe80::7d8b:5fc0:be80:ab1f]) by MW4PR21MB1907.namprd21.prod.outlook.com
 ([fe80::7d8b:5fc0:be80:ab1f%6]) with mapi id 15.20.4690.005; Wed, 3 Nov 2021
 16:08:55 +0000
From: "Bret Barkelew" <bret.barkelew@microsoft.com>
To: "Feng, Bob C" <bob.c.feng@intel.com>, Andrew Fish <afish@apple.com>,
	edk2-devel-groups-io <devel@edk2.groups.io>
CC: "Lindholm, Leif" <leif@nuviainc.com>, "brbarkel@microsoft.com"
	<bret@corthon.com>, Ard Biesheuvel <ardb+tianocore@kernel.org>, Liming Gao
	<gaoliming@byosoft.com.cn>, "Chen, Yuwei" <yuwei.chen@intel.com>, Sean Brogan
	<sean.brogan@microsoft.com>
Subject: Re: [EXTERNAL] [edk2-devel] [PATCH v1 06/16] ArmPkg and BaseTools: Move the GccLto binaries from ArmPkg to BaseTools
Thread-Topic: [EXTERNAL] [edk2-devel] [PATCH v1 06/16] ArmPkg and BaseTools:
 Move the GccLto binaries from ArmPkg to BaseTools
Thread-Index: AQHX0EItqJpizpxaGUK1cKBs3/uyrqvx8FyAgAAJSVU=
Date: Wed, 3 Nov 2021 16:08:55 +0000
Message-ID: 
 <MW4PR21MB1907A0826B4E9987765B80FAEF8C9@MW4PR21MB1907.namprd21.prod.outlook.com>
References: <20211101195648.6420-1-brbarkel@microsoft.com>
 <20211101195648.6420-7-brbarkel@microsoft.com>
 <20211102095514.o5ermrxjikklgy3n@leviathan>
 <MW4PR21MB190778AA9DD1678F80BC1A9BEF8B9@MW4PR21MB1907.namprd21.prod.outlook.com>
 <400DC68B-F514-40DD-9405-84ED342BB948@apple.com>
 <DM6PR11MB40735DEC8E82B653C78A4DE3C98C9@DM6PR11MB4073.namprd11.prod.outlook.com>
In-Reply-To: 
 <DM6PR11MB40735DEC8E82B653C78A4DE3C98C9@DM6PR11MB4073.namprd11.prod.outlook.com>
Accept-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
msip_labels: 
 MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=True;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2021-11-03T16:08:46.0650693Z;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=microsoft.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 1bd71244-e555-40e3-5769-08d99ee43cac
x-ms-traffictypediagnostic: MW4PR21MB2075:
x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr
x-microsoft-antispam-prvs: 
 <MW4PR21MB20753E46F26F51BE4B0B34F7EF8C9@MW4PR21MB2075.namprd21.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:1186;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 wHAV0iTe5jIp9E9pHmk12lvPzM6HMKFOKDBJ2ykoxjFNGXuqFB2vjJLv5492herELTPOEMcvwVG6zGXcRmaXvhOL02Ad5NPqajVaHBotZu7574CH0HVrmFsZE+/zDRUDLejUnFluo/2NPY6XO6RD1HKKnpbN6AjmqyIVZ416OIVh8bhRJD4Y5mM9K2JwAfX0X09xop+/pQhMm85kS08EIvGxI27TN96TSD8ZH2z11CZe3g51IZ58ydNhcEkvQk8oERnRVsxiGgtKdR2Qwvi7EuVAFzYXMNtguHe1jgA+VdDtD4p5a606r1CpR7i/EdPvuyGBKveeOkdbr5jn7MnZafRM2sHtuEMAjk2z0n9MPujePXSbqAYkz0pyUss7nRDka9bpa/EsdXFqyhyI6FsOj5jm+m4MRbooimjJ2CnAq90KWXV1C4x+6FLnWmQ3vL1u1WUeykQRaY2brB+jDeZU9Mo1uVPLJsm5oqcZCfCG7K//cbBU7mCmC1DmHSzZkLcGhCaMBSWTSdWv7W9D27KKS3/mOxQZYJQ9HQeuZh4RM40p6zRHbKpFU+XkSrIDWza/G1r2Hxq7mMEyUcThgKRBhny0Ruw3G+atPhO7RzV9uRIdV+JjV/QnjDRJuaXz0/Jqv01qKtl8yl9t9B/ZSixtsEdV3FdvWvIQwVBWGUCvsZKjl7J+Z3HbfI/A0YwkRvlaYKGcIHEZ9j2MBeEDpIl1SqBFnQpfC2XqMbRbNg5Zb63j6O9uelwCeC8uHmaCtEA1DtkDX2AeObg7gbn5ufE+qpsAPL63r1KvKYGmgGcwB+s=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR21MB1907.namprd21.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(122000001)(38100700002)(110136005)(19627235002)(66946007)(66446008)(64756008)(66476007)(54906003)(186003)(107886003)(8936002)(38070700005)(10290500003)(86362001)(4326008)(33656002)(316002)(8676002)(8990500004)(30864003)(66556008)(7696005)(52536014)(6506007)(166002)(966005)(71200400001)(76236003)(53546011)(5660300002)(76116006)(508600001)(83380400001)(9686003)(26005)(2906002)(55016002)(82950400001)(82960400001);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?Windows-1252?Q?4SUgVkaLO2BGJ+naAHxeF9V3VxYnbM1kGg2/PZ/CyQwadg4ZAsl2jgw5?=
 =?Windows-1252?Q?0eMZ+DlikFbXa/91FZkZwxgfimKK5LvlD0IxEiOayGyh76JbYETob8HU?=
 =?Windows-1252?Q?nxbwxCgmy0odGVBODOe3Vbt6/mEla0dBImkS1NMpL5WwOi/SohZqvU0H?=
 =?Windows-1252?Q?F9ObpXLX+8GmUsjmM1iwoxaYaBaqBnmdVugc80Tphf8Yvx+MOg9boui/?=
 =?Windows-1252?Q?vrvpq4rWtxf7+7CDFVXc6XWxmtGUxRGI4jgUT0YqSJ/i9Z8DYXh9cDKp?=
 =?Windows-1252?Q?sawho56sENFkTZHbN1ON0Q+5tWpbU81O/OVOHhO7+WAucmY7yLFpyRJP?=
 =?Windows-1252?Q?Kj865eKHzddkteGHOKLNWcdnWIGH6a76jek9k0Ar+3en9NIhxSjJnhYA?=
 =?Windows-1252?Q?tTKyC8uKLRx9lJqZrtSC4b4U4wtWFFpSL41jvhp/JC/uttWIWKE4A7Xf?=
 =?Windows-1252?Q?H5Xvy36uArOEI0mfd2eqXYSKuuJRN/L7MZEYgc3DsZe4O9Y/HeQUBkgZ?=
 =?Windows-1252?Q?Fxpbf57zE/+cj91gcxDRqxZ2frAHosESh5iaTjGF3XEJHJQrD9xAk7Un?=
 =?Windows-1252?Q?7jf2S5FtCf+zOmAi5oTtGH3lJNnvDzoSfkKsMP4fWwlQ1lXcWms2QpyL?=
 =?Windows-1252?Q?Z8DjweKwnneD10ALtH8O4RnGO8t10UfuSgU0WpgiJYJUZMPADE/blpIp?=
 =?Windows-1252?Q?GKySgjzU2x1P0tMgJ764/sryh+htL8EcV6xWcLo7LtRQKub40l2LzDCX?=
 =?Windows-1252?Q?yUb0H2K1DKakXuOYdJcRajOQw+zUf3tJb2as3Ug+nY1vqVAyIHrVc9s7?=
 =?Windows-1252?Q?MP4lGmmyTFilk/1bT66hhj0zzvrb9KTySe1tfGaqsyeK6J2XJllBHFBl?=
 =?Windows-1252?Q?cFlSMN1bOzAcY0ZoP8iXapFcJV7QlESVd3TPvzkTbxUrM10XGaiCEy5A?=
 =?Windows-1252?Q?2J4QSbRkmFL3StN0uxKSlfYlVEH7NioUCsimoSe3Muq+54rc5QrqGEm6?=
 =?Windows-1252?Q?ec8MCLgRj30GnMCC4MZLAZK5mJomqYlT+nSwBoH+/5+7BeWO5ay/n92m?=
 =?Windows-1252?Q?r7OSbonDwP/w6rGxlc9HDbYsnDEcUb9Tm/kANSIWgTcS7L5wRx88dq5B?=
 =?Windows-1252?Q?b13a900BYBpXJABEZUbnMBG/9EoUH4AIOynd8j/qx5zpW+RCmH4iVh+o?=
 =?Windows-1252?Q?LvWdyWXg/H+Toa4/9rnCEJBdTq3mIVxKFQhGdVZWUlUXTLsMBxmZP+2g?=
 =?Windows-1252?Q?Xe9K9CI35VKUvufvlta9jXjkXFxBXpEsXYCKyGNpXIjlMsPcovhCOEdo?=
 =?Windows-1252?Q?j5v6h5hmMaZ1D2O6mjB/YwWZtUhYNpABzaaMSFf55N4g6STws9OHpkX8?=
 =?Windows-1252?Q?kZ0GGCc3AOr9vtSJ78hVynX6KmLgEnSgUtoQCfPYZ14RdLGk6a/Fkx0j?=
 =?Windows-1252?Q?k6zPDaGEqd6HRicW7Z30Ij+mDJSIqI5Inilj8gpnIDxnGpOn96UcCT1K?=
 =?Windows-1252?Q?obcRgRkUFEhqiWO4Wju+Uu/swPG6SK34kIyRtFUshTKEpuRPsqfPfpyz?=
 =?Windows-1252?Q?dWiFks17xQuM3w3WN6RnkSHtK4y17umbP2VLjb2DP6049PydvKmtue18?=
 =?Windows-1252?Q?LS19+KV0tJWKfvxaIZzoj7TCmx7K+Fbf0o5hqZqGb02Y+bkPdcSQWsWP?=
 =?Windows-1252?Q?SvVlY4QGHYZ2xI8dbQnkGT+K4lP6YWq4240/zLEJbb4bSjWC0oYG11au?=
 =?Windows-1252?Q?4xi0R7CvMu2Hx3nP7wE/7yZPhYlyrg1UP5zPmJb2?=
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MW4PR21MB1907.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1bd71244-e555-40e3-5769-08d99ee43cac
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Nov 2021 16:08:55.4766
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: IEBFd6FwDOdAHWNSW3XsXkUcf7APlTnTJm2rBPLJsmuIUVhQLtAwImT4/+LSUqsw1686CWQ//H1abF3QQHGTuQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR21MB2075
Content-Language: en-US
Content-Type: multipart/alternative;
	boundary="_000_MW4PR21MB1907A0826B4E9987765B80FAEF8C9MW4PR21MB1907namp_"

--_000_MW4PR21MB1907A0826B4E9987765B80FAEF8C9MW4PR21MB1907namp_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

Sounds good. Will update in v3.

- Bret
________________________________
From: Feng, Bob C <bob.c.feng@intel.com>
Sent: Wednesday, November 3, 2021 8:35:33 AM
To: Andrew Fish <afish@apple.com>; edk2-devel-groups-io <devel@edk2.groups.=
io>; Bret Barkelew <Bret.Barkelew@microsoft.com>
Cc: Lindholm, Leif <leif@nuviainc.com>; brbarkel@microsoft.com <bret@cortho=
n.com>; Ard Biesheuvel <ardb+tianocore@kernel.org>; Liming Gao <gaoliming@b=
yosoft.com.cn>; Chen, Yuwei <yuwei.chen@intel.com>; Sean Brogan <sean.broga=
n@microsoft.com>
Subject: RE: [EXTERNAL] [edk2-devel] [PATCH v1 06/16] ArmPkg and BaseTools:=
 Move the GccLto binaries from ArmPkg to BaseTools


I=92d prefer to use EDK_TOOLS_PATH. Because of PACKAGES_PATH, the relative =
path does not depend on the WORKSPACE, the WORKSPACE can be set to anywhere=
. So we can=92t assume the BaseTools is under WORKSPACE. But EDK_TOOLS_PATH=
 always points to edk2/BaseTools.



This patch does not break any of the use-cases on my side.



Thanks,

Bob



From: Andrew Fish <afish@apple.com>
Sent: Wednesday, November 3, 2021 7:34 AM
To: edk2-devel-groups-io <devel@edk2.groups.io>; bret.barkelew@microsoft.co=
m
Cc: Lindholm, Leif <leif@nuviainc.com>; brbarkel@microsoft.com <bret@cortho=
n.com>; Ard Biesheuvel <ardb+tianocore@kernel.org>; Feng, Bob C <bob.c.feng=
@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>; Chen, Christine <yuwei.=
chen@intel.com>; Sean Brogan <sean.brogan@microsoft.com>
Subject: Re: [EXTERNAL] [edk2-devel] [PATCH v1 06/16] ArmPkg and BaseTools:=
 Move the GccLto binaries from ArmPkg to BaseTools







On Nov 2, 2021, at 12:45 PM, Bret Barkelew via groups.io<https://nam06.safe=
links.protection.outlook.com/?url=3Dhttp%3A%2F%2Fgroups.io%2F&data=3D04%7C0=
1%7Cbret.barkelew%40microsoft.com%7C06f295b9903a44c7b8d408d99edff565%7C72f9=
88bf86f141af91ab2d7cd011db47%7C1%7C0%7C637715507056865024%7CUnknown%7CTWFpb=
GZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7=
C1000&sdata=3D7IeYGfQir8xUiKwmZ9N%2BTsiLRc8%2F03Rzsr%2FwJ08qmvQ%3D&reserved=
=3D0> <bret.barkelew=3Dmicrosoft.com@groups.io<mailto:bret.barkelew=3Dmicro=
soft.com@groups.io>> wrote:



Good call. Maintainers, your opinion?



- Bret



From: Leif Lindholm via groups.io<mailto:leif=3Dnuviainc.com@groups.io>
Sent: Tuesday, November 2, 2021 2:55 AM
To: brbarkel@microsoft.com<mailto:bret@corthon.com>
Cc: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Ard Biesheuvel<mailt=
o:ardb+tianocore@kernel.org>; Feng, Bob C<mailto:bob.c.feng@intel.com>; Lim=
ing Gao<mailto:gaoliming@byosoft.com.cn>; Chen, Yuwei<mailto:yuwei.chen@int=
el.com>; Sean Brogan<mailto:sean.brogan@microsoft.com>
Subject: [EXTERNAL] Re: [edk2-devel] [PATCH v1 06/16] ArmPkg and BaseTools:=
 Move the GccLto binaries from ArmPkg to BaseTools



On Mon, Nov 01, 2021 at 12:56:38 -0700, brbarkel@microsoft.com<mailto:brbar=
kel@microsoft.com> wrote:
> From: Bret Barkelew <brbarkel@microsoft.com<mailto:brbarkel@microsoft.com=
>>
>
> This aligns better with Mu's philosophy around dependency structuring
> and is one of the steps to enable Basecore to have zero CI dependencies
> on other Mu repos.
>
> REF: https://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2F=
bugzilla.tianocore.org%2Fshow_bug.cgi%3Fid%3D3650&amp;data=3D04%7C01%7Cbret=
.barkelew%40microsoft.com%7Cc9129586336447a44c3908d99de6e1d1%7C72f988bf86f1=
41af91ab2d7cd011db47%7C1%7C0%7C637714437251132216%7CUnknown%7CTWFpbGZsb3d8e=
yJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&am=
p;sdata=3DijjQG1L4fScVxSn5nIBQGrFHLVtNbuTfd0YYLGdw8sg%3D&amp;reserved=3D0<h=
ttps://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fbugzilla=
.tianocore.org%2Fshow_bug.cgi%3Fid%3D3650&data=3D04%7C01%7Cbret.barkelew%40=
microsoft.com%7C06f295b9903a44c7b8d408d99edff565%7C72f988bf86f141af91ab2d7c=
d011db47%7C1%7C0%7C637715507056865024%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wL=
jAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=3DoBOJo5=
g2DzNrgu2Py0sjxAd%2BHekQBxrlDylc%2BkIwEow%3D&reserved=3D0>
>
> Cc: Leif Lindholm <leif@nuviainc.com<mailto:leif@nuviainc.com>>
> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org<mailto:ardb+tianocore@kerne=
l.org>>
> Cc: Bob Feng <bob.c.feng@intel.com<mailto:bob.c.feng@intel.com>>
> Cc: Liming Gao <gaoliming@byosoft.com.cn<mailto:gaoliming@byosoft.com.cn>=
>
> Cc: Yuwei Chen <yuwei.chen@intel.com<mailto:yuwei.chen@intel.com>>
> Cc: Sean Brogan <sean.brogan@microsoft.com<mailto:sean.brogan@microsoft.c=
om>>
> Signed-off-by: Bret Barkelew <bret.barkelew@microsoft.com<mailto:bret.bar=
kelew@microsoft.com>>

No objections to this for any of my use-cases, but I'd like for one of
the BaseTools maintainers to comment on whether this breaks anything
with regards to EDK_TOOLS_PATH, or if we can finally get rid of that
and replace it with $WORKSPACE/BaseTools globally.

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 happe=
ns.



So I=92m thinking maybe:

  $(EDK_TOOLS_PATH)/Bin/GccLto

Vs:

  $(WORKSPACE)/BaseTools/Bin/GccLto



If EDK_TOOLS_PATH gets ripped out, it should be one atomic remove, but let =
us not stick that on Bret.



Thanks,



Andrew Fish



/
    Leif

> ---
>  {ArmPkg/Library =3D> BaseTools/Bin}/GccLto/liblto-aarch64.a | Bin
>  {ArmPkg/Library =3D> BaseTools/Bin}/GccLto/liblto-aarch64.s |   0
>  {ArmPkg/Library =3D> BaseTools/Bin}/GccLto/liblto-arm.a     | Bin
>  {ArmPkg/Library =3D> BaseTools/Bin}/GccLto/liblto-arm.s     |   0
>  BaseTools/Conf/tools_def.template                         |  19 ++++++++=
++---------
>  5 files changed, 10 insertions(+), 9 deletions(-)
>
> diff --git a/ArmPkg/Library/GccLto/liblto-aarch64.a b/BaseTools/Bin/GccLt=
o/liblto-aarch64.a
> similarity index 100%
> rename from ArmPkg/Library/GccLto/liblto-aarch64.a
> rename to BaseTools/Bin/GccLto/liblto-aarch64.a
> diff --git a/ArmPkg/Library/GccLto/liblto-aarch64.s b/BaseTools/Bin/GccLt=
o/liblto-aarch64.s
> similarity index 100%
> rename from ArmPkg/Library/GccLto/liblto-aarch64.s
> rename to BaseTools/Bin/GccLto/liblto-aarch64.s
> diff --git a/ArmPkg/Library/GccLto/liblto-arm.a b/BaseTools/Bin/GccLto/li=
blto-arm.a
> similarity index 100%
> rename from ArmPkg/Library/GccLto/liblto-arm.a
> rename to BaseTools/Bin/GccLto/liblto-arm.a
> diff --git a/ArmPkg/Library/GccLto/liblto-arm.s b/BaseTools/Bin/GccLto/li=
blto-arm.s
> similarity index 100%
> rename from ArmPkg/Library/GccLto/liblto-arm.s
> rename to BaseTools/Bin/GccLto/liblto-arm.s
> diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def=
.template
> index 2e6b382ab623..cd8899d24d4a 100755
> --- a/BaseTools/Conf/tools_def.template
> +++ b/BaseTools/Conf/tools_def.template
> @@ -15,7 +15,8 @@
>  # 2.00 - Initial version with changes for CI
>  #      - Change RC path to use plugin
>  #
> -#!VERSION=3D2.00
> +# 2.10 - Move GccLto files to a tools path to be more repository layout =
agnostic
> +#!VERSION=3D2.10
>
>  IDENTIFIER =3D Default TOOL_CHAIN_CONF
>
> @@ -2386,10 +2387,10 @@ RELEASE_GCC5_X64_DLINK_FLAGS     =3D DEF(GCC5_X64=
_DLINK_FLAGS) -flto -Os
>  *_GCC5_ARM_CC_XIPFLAGS           =3D DEF(GCC5_ARM_CC_XIPFLAGS)
>
>    DEBUG_GCC5_ARM_CC_FLAGS        =3D DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-u=
nused-but-set-variable -Wno-unused-const-variable
> -  DEBUG_GCC5_ARM_DLINK_FLAGS     =3D DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os=
 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=3D-pass-thr=
ough=3D-llto-arm
> +  DEBUG_GCC5_ARM_DLINK_FLAGS     =3D DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os=
 -L$(WORKSPACE)/BaseTools/Bin/GccLto -llto-arm -Wl,-plugin-opt=3D-pass-thro=
ugh=3D-llto-arm
>
>  RELEASE_GCC5_ARM_CC_FLAGS        =3D DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-u=
nused-but-set-variable -Wno-unused-const-variable
> -RELEASE_GCC5_ARM_DLINK_FLAGS     =3D DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os=
 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=3D-pass-thr=
ough=3D-llto-arm
> +RELEASE_GCC5_ARM_DLINK_FLAGS     =3D DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os=
 -L$(WORKSPACE)/BaseTools/Bin/GccLto -llto-arm -Wl,-plugin-opt=3D-pass-thro=
ugh=3D-llto-arm
>
>    NOOPT_GCC5_ARM_CC_FLAGS        =3D DEF(GCC5_ARM_CC_FLAGS) -O0
>    NOOPT_GCC5_ARM_DLINK_FLAGS     =3D DEF(GCC5_ARM_DLINK_FLAGS) -O0
> @@ -2420,11 +2421,11 @@ RELEASE_GCC5_ARM_DLINK_FLAGS     =3D DEF(GCC5_ARM=
_DLINK_FLAGS) -flto -Os -L$(WORKS
>  *_GCC5_AARCH64_CC_XIPFLAGS       =3D DEF(GCC5_AARCH64_CC_XIPFLAGS)
>
>    DEBUG_GCC5_AARCH64_CC_FLAGS    =3D DEF(GCC5_AARCH64_CC_FLAGS) -flto -W=
no-unused-but-set-variable -Wno-unused-const-variable
> -  DEBUG_GCC5_AARCH64_DLINK_FLAGS =3D DEF(GCC5_AARCH64_DLINK_FLAGS) -flto=
 -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=3D-=
pass-through=3D-llto-aarch64 -Wno-lto-type-mismatch
> +  DEBUG_GCC5_AARCH64_DLINK_FLAGS =3D DEF(GCC5_AARCH64_DLINK_FLAGS) -flto=
 -Os -L$(WORKSPACE)/BaseTools/Bin/GccLto -llto-aarch64 -Wl,-plugin-opt=3D-p=
ass-through=3D-llto-aarch64 -Wno-lto-type-mismatch
>    DEBUG_GCC5_AARCH64_DLINK_XIPFLAGS =3D -z common-page-size=3D0x20
>
>  RELEASE_GCC5_AARCH64_CC_FLAGS    =3D DEF(GCC5_AARCH64_CC_FLAGS) -flto -W=
no-unused-but-set-variable -Wno-unused-const-variable
> -RELEASE_GCC5_AARCH64_DLINK_FLAGS =3D DEF(GCC5_AARCH64_DLINK_FLAGS) -flto=
 -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=3D-=
pass-through=3D-llto-aarch64 -Wno-lto-type-mismatch
> +RELEASE_GCC5_AARCH64_DLINK_FLAGS =3D DEF(GCC5_AARCH64_DLINK_FLAGS) -flto=
 -Os -L$(WORKSPACE)/BaseTools/Bin/GccLto -llto-aarch64 -Wl,-plugin-opt=3D-p=
ass-through=3D-llto-aarch64 -Wno-lto-type-mismatch
>  RELEASE_GCC5_AARCH64_DLINK_XIPFLAGS =3D -z common-page-size=3D0x20
>
>    NOOPT_GCC5_AARCH64_CC_FLAGS    =3D DEF(GCC5_AARCH64_CC_FLAGS) -O0
> @@ -2681,11 +2682,11 @@ DEFINE CLANG38_ARM_DLINK_FLAGS   =3D DEF(CLANG38_=
ARM_TARGET) DEF(GCC_ARM_DLINK_FLA
>  *_CLANG38_ARM_CC_XIPFLAGS        =3D DEF(GCC_ARM_CC_XIPFLAGS)
>
>    DEBUG_CLANG38_ARM_CC_FLAGS     =3D DEF(CLANG38_ARM_CC_FLAGS) $(ARCHCC_=
FLAGS) $(PLATFORM_FLAGS) -flto -O1
> -  DEBUG_CLANG38_ARM_DLINK_FLAGS  =3D DEF(CLANG38_ARM_DLINK_FLAGS) -flto =
-Wl,-O1 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=3D-p=
ass-through=3D-llto-arm
> +  DEBUG_CLANG38_ARM_DLINK_FLAGS  =3D DEF(CLANG38_ARM_DLINK_FLAGS) -flto =
-Wl,-O1 -L$(WORKSPACE)/BaseTools/Bin/GccLto -llto-arm -Wl,-plugin-opt=3D-pa=
ss-through=3D-llto-arm
>    NOOPT_CLANG38_ARM_CC_FLAGS     =3D DEF(CLANG38_ARM_CC_FLAGS) $(ARCHCC_=
FLAGS) $(PLATFORM_FLAGS) -O0
>    NOOPT_CLANG38_ARM_DLINK_FLAGS  =3D DEF(CLANG38_ARM_DLINK_FLAGS)
>  RELEASE_CLANG38_ARM_CC_FLAGS     =3D DEF(CLANG38_ARM_CC_FLAGS) $(ARCHCC_=
FLAGS) $(PLATFORM_FLAGS) -flto -O3
> -RELEASE_CLANG38_ARM_DLINK_FLAGS  =3D DEF(CLANG38_ARM_DLINK_FLAGS) -flto =
-Wl,-O3 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=3D-p=
ass-through=3D-llto-arm
> +RELEASE_CLANG38_ARM_DLINK_FLAGS  =3D DEF(CLANG38_ARM_DLINK_FLAGS) -flto =
-Wl,-O3 -L$(WORKSPACE)/BaseTools/Bin/GccLto -llto-arm -Wl,-plugin-opt=3D-pa=
ss-through=3D-llto-arm
>
>  ##################
>  # CLANG38 AARCH64 definitions
> @@ -2727,11 +2728,11 @@ DEFINE CLANG38_AARCH64_DLINK_FLAGS  =3D DEF(CLANG=
38_AARCH64_TARGET) DEF(GCC_AARCH6
>  *_CLANG38_AARCH64_CC_XIPFLAGS    =3D DEF(GCC_AARCH64_CC_XIPFLAGS)
>
>    DEBUG_CLANG38_AARCH64_CC_FLAGS    =3D DEF(CLANG38_AARCH64_CC_FLAGS) $(=
ARCHCC_FLAGS) $(PLATFORM_FLAGS) -flto -O1
> -  DEBUG_CLANG38_AARCH64_DLINK_FLAGS =3D DEF(CLANG38_AARCH64_DLINK_FLAGS)=
 -flto -Wl,-O1 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plug=
in-opt=3D-pass-through=3D-llto-aarch64
> +  DEBUG_CLANG38_AARCH64_DLINK_FLAGS =3D DEF(CLANG38_AARCH64_DLINK_FLAGS)=
 -flto -Wl,-O1 -L$(WORKSPACE)/BaseTools/Bin/GccLto -llto-aarch64 -Wl,-plugi=
n-opt=3D-pass-through=3D-llto-aarch64
>    NOOPT_CLANG38_AARCH64_CC_FLAGS    =3D DEF(CLANG38_AARCH64_CC_FLAGS) $(=
ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O0
>    NOOPT_CLANG38_AARCH64_DLINK_FLAGS =3D DEF(CLANG38_AARCH64_DLINK_FLAGS)
>  RELEASE_CLANG38_AARCH64_CC_FLAGS    =3D DEF(CLANG38_AARCH64_CC_FLAGS) $(=
ARCHCC_FLAGS) $(PLATFORM_FLAGS) -flto -O3
> -RELEASE_CLANG38_AARCH64_DLINK_FLAGS =3D DEF(CLANG38_AARCH64_DLINK_FLAGS)=
 -flto -Wl,-O3 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plug=
in-opt=3D-pass-through=3D-llto-aarch64
> +RELEASE_CLANG38_AARCH64_DLINK_FLAGS =3D DEF(CLANG38_AARCH64_DLINK_FLAGS)=
 -flto -Wl,-O3 -L$(WORKSPACE)/BaseTools/Bin/GccLto -llto-aarch64 -Wl,-plugi=
n-opt=3D-pass-through=3D-llto-aarch64
>
>  ########################################################################=
############
>  #
> --
> 2.31.1.windows.1
>












--_000_MW4PR21MB1907A0826B4E9987765B80FAEF8C9MW4PR21MB1907namp_
Content-Type: text/html; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DWindows-1=
252">
</head>
<body>
<div>
<div>
<div dir=3D"ltr" style=3D"color: rgb(0, 0, 0); background-color: rgb(255, 2=
55, 255);">
Sounds good. Will update in v3.</div>
</div>
<div id=3D"ms-outlook-mobile-signature">
<div><br>
</div>
<div style=3D"direction: ltr;">- Bret</div>
</div>
</div>
<hr style=3D"display:inline-block;width:98%" tabindex=3D"-1">
<div id=3D"divRplyFwdMsg" dir=3D"ltr"><font face=3D"Calibri, sans-serif" st=
yle=3D"font-size:11pt" color=3D"#000000"><b>From:</b> Feng, Bob C &lt;bob.c=
.feng@intel.com&gt;<br>
<b>Sent:</b> Wednesday, November 3, 2021 8:35:33 AM<br>
<b>To:</b> Andrew Fish &lt;afish@apple.com&gt;; edk2-devel-groups-io &lt;de=
vel@edk2.groups.io&gt;; Bret Barkelew &lt;Bret.Barkelew@microsoft.com&gt;<b=
r>
<b>Cc:</b> Lindholm, Leif &lt;leif@nuviainc.com&gt;; brbarkel@microsoft.com=
 &lt;bret@corthon.com&gt;; Ard Biesheuvel &lt;ardb+tianocore@kernel.org&gt;=
; Liming Gao &lt;gaoliming@byosoft.com.cn&gt;; Chen, Yuwei &lt;yuwei.chen@i=
ntel.com&gt;; Sean Brogan &lt;sean.brogan@microsoft.com&gt;<br>
<b>Subject:</b> RE: [EXTERNAL] [edk2-devel] [PATCH v1 06/16] ArmPkg and Bas=
eTools: Move the GccLto binaries from ArmPkg to BaseTools</font>
<div>&nbsp;</div>
</div>
<style>
<!--
@font-face
	{font-family:Helvetica}
@font-face
	{font-family:SimSun}
@font-face
	{font-family:"Cambria Math"}
@font-face
	{font-family:Calibri}
@font-face
	{}
p.x_MsoNormal, li.x_MsoNormal, div.x_MsoNormal
	{margin:0in;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif}
a:link, span.x_MsoHyperlink
	{color:blue;
	text-decoration:underline}
span.x_apple-converted-space
	{}
span.x_EmailStyle19
	{font-family:"Calibri",sans-serif;
	color:windowtext}
.x_MsoChpDefault
	{font-size:10.0pt}
@page WordSection1
	{margin:1.0in 1.0in 1.0in 1.0in}
div.x_WordSection1
	{}
-->
</style>
<div lang=3D"EN-US" link=3D"blue" vlink=3D"purple" style=3D"word-wrap:break=
-word">
<div class=3D"x_WordSection1">
<p class=3D"x_MsoNormal">I=92d prefer to use EDK_TOOLS_PATH. Because of PAC=
KAGES_PATH, the relative path does not depend on the WORKSPACE, the WORKSPA=
CE can be set to anywhere. So we can=92t assume the BaseTools is under WORK=
SPACE. But EDK_TOOLS_PATH always points
 to edk2/BaseTools.</p>
<p class=3D"x_MsoNormal">&nbsp;</p>
<p class=3D"x_MsoNormal">This patch does not break any of the use-cases on =
my side.</p>
<p class=3D"x_MsoNormal">&nbsp;</p>
<p class=3D"x_MsoNormal">Thanks,</p>
<p class=3D"x_MsoNormal">Bob</p>
<p class=3D"x_MsoNormal">&nbsp;</p>
<div>
<div style=3D"border:none; border-top:solid #E1E1E1 1.0pt; padding:3.0pt 0i=
n 0in 0in">
<p class=3D"x_MsoNormal"><b>From:</b> Andrew Fish &lt;afish@apple.com&gt; <=
br>
<b>Sent:</b> Wednesday, November 3, 2021 7:34 AM<br>
<b>To:</b> edk2-devel-groups-io &lt;devel@edk2.groups.io&gt;; bret.barkelew=
@microsoft.com<br>
<b>Cc:</b> Lindholm, Leif &lt;leif@nuviainc.com&gt;; brbarkel@microsoft.com=
 &lt;bret@corthon.com&gt;; Ard Biesheuvel &lt;ardb+tianocore@kernel.org&gt;=
; Feng, Bob C &lt;bob.c.feng@intel.com&gt;; Liming Gao &lt;gaoliming@byosof=
t.com.cn&gt;; Chen, Christine &lt;yuwei.chen@intel.com&gt;; Sean Brogan
 &lt;sean.brogan@microsoft.com&gt;<br>
<b>Subject:</b> Re: [EXTERNAL] [edk2-devel] [PATCH v1 06/16] ArmPkg and Bas=
eTools: Move the GccLto binaries from ArmPkg to BaseTools</p>
</div>
</div>
<p class=3D"x_MsoNormal">&nbsp;</p>
<p class=3D"x_MsoNormal">&nbsp;</p>
<div>
<p class=3D"x_MsoNormal"><br>
<br>
</p>
<blockquote style=3D"margin-top:5.0pt; margin-bottom:5.0pt">
<div>
<p class=3D"x_MsoNormal">On Nov 2, 2021, at 12:45 PM, Bret Barkelew via <a =
href=3D"https://nam06.safelinks.protection.outlook.com/?url=3Dhttp%3A%2F%2F=
groups.io%2F&amp;data=3D04%7C01%7Cbret.barkelew%40microsoft.com%7C06f295b99=
03a44c7b8d408d99edff565%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637715=
507056865024%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLC=
JBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=3D7IeYGfQir8xUiKwmZ9N%2BTsiLR=
c8%2F03Rzsr%2FwJ08qmvQ%3D&amp;reserved=3D0" originalsrc=3D"http://groups.io=
/" shash=3D"BkS21N1pa1CuNlTZuxuLzRWEomrTrNNu+nqPUKS36Jsq3lNZ5nw39Uy/Ygk1zaE=
yW77wbUW1iVn1tRvbs28TdY2NdeMf1ZE7FpPSIe9vjv9zPjWJ29lvWg6EH9Fud98T+nuCNA5hGs=
S2yE8DLwLqaz6nr7TzGmIFXtivUL2mqx8=3D">
groups.io</a> &lt;<a href=3D"mailto:bret.barkelew=3Dmicrosoft.com@groups.io=
">bret.barkelew=3Dmicrosoft.com@groups.io</a>&gt; wrote:</p>
</div>
<p class=3D"x_MsoNormal">&nbsp;</p>
<div>
<div>
<p class=3D"x_MsoNormal">Good call. Maintainers, your opinion?</p>
</div>
<div>
<p class=3D"x_MsoNormal">&nbsp;</p>
</div>
<div>
<p class=3D"x_MsoNormal">- Bret</p>
</div>
<div>
<p class=3D"x_MsoNormal">&nbsp;</p>
</div>
<div style=3D"border:none; border-top:solid #E1E1E1 1.0pt; padding:3.0pt 0i=
n 0in 0in">
<div>
<p class=3D"x_MsoNormal"><b>From:<span class=3D"x_apple-converted-space">&n=
bsp;</span></b><a href=3D"mailto:leif=3Dnuviainc.com@groups.io">Leif Lindho=
lm via groups.io</a><br>
<b>Sent:<span class=3D"x_apple-converted-space">&nbsp;</span></b>Tuesday, N=
ovember 2, 2021 2:55 AM<br>
<b>To:<span class=3D"x_apple-converted-space">&nbsp;</span></b><a href=3D"m=
ailto:bret@corthon.com">brbarkel@microsoft.com</a><br>
<b>Cc:<span class=3D"x_apple-converted-space">&nbsp;</span></b><a href=3D"m=
ailto:devel@edk2.groups.io">devel@edk2.groups.io</a>;<span class=3D"x_apple=
-converted-space">&nbsp;</span><a href=3D"mailto:ardb+tianocore@kernel.org"=
>Ard Biesheuvel</a>;<span class=3D"x_apple-converted-space">&nbsp;</span><a=
 href=3D"mailto:bob.c.feng@intel.com">Feng,
 Bob C</a>;<span class=3D"x_apple-converted-space">&nbsp;</span><a href=3D"=
mailto:gaoliming@byosoft.com.cn">Liming Gao</a>;<span class=3D"x_apple-conv=
erted-space">&nbsp;</span><a href=3D"mailto:yuwei.chen@intel.com">Chen, Yuw=
ei</a>;<span class=3D"x_apple-converted-space">&nbsp;</span><a href=3D"mail=
to:sean.brogan@microsoft.com">Sean
 Brogan</a><br>
<b>Subject:<span class=3D"x_apple-converted-space">&nbsp;</span></b>[EXTERN=
AL] Re: [edk2-devel] [PATCH v1 06/16] ArmPkg and BaseTools: Move the GccLto=
 binaries from ArmPkg to BaseTools</p>
</div>
</div>
<div>
<p class=3D"x_MsoNormal">&nbsp;</p>
</div>
<p class=3D"x_MsoNormal" style=3D"margin-bottom:12.0pt">On Mon, Nov 01, 202=
1 at 12:56:38 -0700,<span class=3D"x_apple-converted-space">&nbsp;</span><a=
 href=3D"mailto:brbarkel@microsoft.com">brbarkel@microsoft.com</a><span cla=
ss=3D"x_apple-converted-space">&nbsp;</span>wrote:<br>
&gt; From: Bret Barkelew &lt;<a href=3D"mailto:brbarkel@microsoft.com">brba=
rkel@microsoft.com</a>&gt;<br>
&gt;<span class=3D"x_apple-converted-space">&nbsp;</span><br>
&gt; This aligns better with Mu's philosophy around dependency structuring<=
br>
&gt; and is one of the steps to enable Basecore to have zero CI dependencie=
s<br>
&gt; on other Mu repos.<br>
&gt;<span class=3D"x_apple-converted-space">&nbsp;</span><br>
&gt; REF:<span class=3D"x_apple-converted-space">&nbsp;</span><a href=3D"ht=
tps://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fbugzilla.=
tianocore.org%2Fshow_bug.cgi%3Fid%3D3650&amp;data=3D04%7C01%7Cbret.barkelew=
%40microsoft.com%7C06f295b9903a44c7b8d408d99edff565%7C72f988bf86f141af91ab2=
d7cd011db47%7C1%7C0%7C637715507056865024%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC=
4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=
=3DoBOJo5g2DzNrgu2Py0sjxAd%2BHekQBxrlDylc%2BkIwEow%3D&amp;reserved=3D0" ori=
ginalsrc=3D"https://bugzilla.tianocore.org/show_bug.cgi?id=3D3650" shash=3D=
"Ob+JJIxfrPIS7zyGJ2fAEr3UbuppkR9J1s1D/JZOKGbMvkNApT7PCzMLpeOrsH7CYAtoGszlf+=
BVTgyoZMbIjkIijs49w0Z6Onnt9x1Y1U+5ONHbrt61Mw414Yuc4rzWxL7S/h+ohB52jUJlXrmjl=
iB1hS5cgtkNnCBGceeh5QE=3D">https://nam06.safelinks.protection.outlook.com/?=
url=3Dhttps%3A%2F%2Fbugzilla.tianocore.org%2Fshow_bug.cgi%3Fid%3D3650&amp;a=
mp;data=3D04%7C01%7Cbret.barkelew%40microsoft.com%7Cc9129586336447a44c3908d=
99de6e1d1%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637714437251132216%7=
CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwi=
LCJXVCI6Mn0%3D%7C1000&amp;amp;sdata=3DijjQG1L4fScVxSn5nIBQGrFHLVtNbuTfd0YYL=
Gdw8sg%3D&amp;amp;reserved=3D0</a><br>
&gt;<span class=3D"x_apple-converted-space">&nbsp;</span><br>
&gt; Cc: Leif Lindholm &lt;<a href=3D"mailto:leif@nuviainc.com">leif@nuviai=
nc.com</a>&gt;<br>
&gt; Cc: Ard Biesheuvel &lt;<a href=3D"mailto:ardb+tianocore@kernel.org">ar=
db+tianocore@kernel.org</a>&gt;<br>
&gt; Cc: Bob Feng &lt;<a href=3D"mailto:bob.c.feng@intel.com">bob.c.feng@in=
tel.com</a>&gt;<br>
&gt; Cc: Liming Gao &lt;<a href=3D"mailto:gaoliming@byosoft.com.cn">gaolimi=
ng@byosoft.com.cn</a>&gt;<br>
&gt; Cc: Yuwei Chen &lt;<a href=3D"mailto:yuwei.chen@intel.com">yuwei.chen@=
intel.com</a>&gt;<br>
&gt; Cc: Sean Brogan &lt;<a href=3D"mailto:sean.brogan@microsoft.com">sean.=
brogan@microsoft.com</a>&gt;<br>
&gt; Signed-off-by: Bret Barkelew &lt;<a href=3D"mailto:bret.barkelew@micro=
soft.com">bret.barkelew@microsoft.com</a>&gt;<br>
<br>
No objections to this for any of my use-cases, but I'd like for one of<br>
the BaseTools maintainers to comment on whether this breaks anything<br>
with regards to EDK_TOOLS_PATH, or if we can finally get rid of that<br>
and replace it with $WORKSPACE/BaseTools globally.</p>
</div>
</blockquote>
<div>
<p class=3D"x_MsoNormal">Our internal repo uses EDK_TOOLS_PATH. In our case=
 it is $(WORKSPACE)/edk2/BaseTools. We have a PACKAGES_PATH set to $(WORKSP=
ACE)/edk2 and magic happens.&nbsp;</p>
</div>
<div>
<p class=3D"x_MsoNormal">&nbsp;</p>
</div>
<div>
<p class=3D"x_MsoNormal">So I=92m thinking maybe:</p>
</div>
<div>
<p class=3D"x_MsoNormal">&nbsp; $(EDK_TOOLS_PATH)/Bin/GccLto</p>
</div>
<div>
<p class=3D"x_MsoNormal">Vs:</p>
</div>
<div>
<p class=3D"x_MsoNormal">&nbsp; $(WORKSPACE)/BaseTools/Bin/GccLto</p>
</div>
<div>
<p class=3D"x_MsoNormal">&nbsp;</p>
</div>
<div>
<p class=3D"x_MsoNormal">If EDK_TOOLS_PATH gets ripped out, it should be on=
e atomic remove, but let us not stick that on Bret.&nbsp;</p>
</div>
<div>
<p class=3D"x_MsoNormal">&nbsp;</p>
</div>
<div>
<p class=3D"x_MsoNormal">Thanks,</p>
</div>
<div>
<p class=3D"x_MsoNormal">&nbsp;</p>
</div>
<div>
<p class=3D"x_MsoNormal">Andrew Fish</p>
</div>
<p class=3D"x_MsoNormal"><br>
<br>
</p>
<blockquote style=3D"margin-top:5.0pt; margin-bottom:5.0pt">
<div>
<p class=3D"x_MsoNormal" style=3D"margin-bottom:12.0pt">/<br>
&nbsp;&nbsp;&nbsp; Leif<br>
<br>
&gt; ---<br>
&gt;&nbsp; {ArmPkg/Library =3D&gt; BaseTools/Bin}/GccLto/liblto-aarch64.a |=
 Bin<br>
&gt;&nbsp; {ArmPkg/Library =3D&gt; BaseTools/Bin}/GccLto/liblto-aarch64.s |=
&nbsp;&nbsp; 0<br>
&gt;&nbsp; {ArmPkg/Library =3D&gt; BaseTools/Bin}/GccLto/liblto-arm.a&nbsp;=
&nbsp;&nbsp;&nbsp; | Bin<br>
&gt;&nbsp; {ArmPkg/Library =3D&gt; BaseTools/Bin}/GccLto/liblto-arm.s&nbsp;=
&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp; 0<br>
&gt;&nbsp; BaseTools/Conf/tools_def.template&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; 19 ++++++++++---------<br>
&gt;&nbsp; 5 files changed, 10 insertions(+), 9 deletions(-)<br>
&gt;<span class=3D"x_apple-converted-space">&nbsp;</span><br>
&gt; diff --git a/ArmPkg/Library/GccLto/liblto-aarch64.a b/BaseTools/Bin/Gc=
cLto/liblto-aarch64.a<br>
&gt; similarity index 100%<br>
&gt; rename from ArmPkg/Library/GccLto/liblto-aarch64.a<br>
&gt; rename to BaseTools/Bin/GccLto/liblto-aarch64.a<br>
&gt; diff --git a/ArmPkg/Library/GccLto/liblto-aarch64.s b/BaseTools/Bin/Gc=
cLto/liblto-aarch64.s<br>
&gt; similarity index 100%<br>
&gt; rename from ArmPkg/Library/GccLto/liblto-aarch64.s<br>
&gt; rename to BaseTools/Bin/GccLto/liblto-aarch64.s<br>
&gt; diff --git a/ArmPkg/Library/GccLto/liblto-arm.a b/BaseTools/Bin/GccLto=
/liblto-arm.a<br>
&gt; similarity index 100%<br>
&gt; rename from ArmPkg/Library/GccLto/liblto-arm.a<br>
&gt; rename to BaseTools/Bin/GccLto/liblto-arm.a<br>
&gt; diff --git a/ArmPkg/Library/GccLto/liblto-arm.s b/BaseTools/Bin/GccLto=
/liblto-arm.s<br>
&gt; similarity index 100%<br>
&gt; rename from ArmPkg/Library/GccLto/liblto-arm.s<br>
&gt; rename to BaseTools/Bin/GccLto/liblto-arm.s<br>
&gt; diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_=
def.template<br>
&gt; index 2e6b382ab623..cd8899d24d4a 100755<br>
&gt; --- a/BaseTools/Conf/tools_def.template<br>
&gt; +++ b/BaseTools/Conf/tools_def.template<br>
&gt; @@ -15,7 +15,8 @@<br>
&gt;&nbsp; # 2.00 - Initial version with changes for CI<br>
&gt;&nbsp; #&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Change RC path to use plugin<b=
r>
&gt;&nbsp; #<br>
&gt; -#!VERSION=3D2.00<br>
&gt; +# 2.10 - Move GccLto files to a tools path to be more repository layo=
ut agnostic<br>
&gt; +#!VERSION=3D2.10<br>
&gt;&nbsp;<span class=3D"x_apple-converted-space">&nbsp;</span><br>
&gt;&nbsp; IDENTIFIER =3D Default TOOL_CHAIN_CONF<br>
&gt;&nbsp;<span class=3D"x_apple-converted-space">&nbsp;</span><br>
&gt; @@ -2386,10 +2387,10 @@ RELEASE_GCC5_X64_DLINK_FLAGS&nbsp;&nbsp;&nbsp;=
&nbsp; =3D DEF(GCC5_X64_DLINK_FLAGS) -flto -Os<br>
&gt;&nbsp; *_GCC5_ARM_CC_XIPFLAGS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp; =3D DEF(GCC5_ARM_CC_XIPFLAGS)<br>
&gt;&nbsp;<span class=3D"x_apple-converted-space">&nbsp;</span><br>
&gt;&nbsp;&nbsp;&nbsp; DEBUG_GCC5_ARM_CC_FLAGS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp; =3D DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable=
 -Wno-unused-const-variable<br>
&gt; -&nbsp; DEBUG_GCC5_ARM_DLINK_FLAGS&nbsp;&nbsp;&nbsp;&nbsp; =3D DEF(GCC=
5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm=
 -Wl,-plugin-opt=3D-pass-through=3D-llto-arm<br>
&gt; +&nbsp; DEBUG_GCC5_ARM_DLINK_FLAGS&nbsp;&nbsp;&nbsp;&nbsp; =3D DEF(GCC=
5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/BaseTools/Bin/GccLto -llto-arm =
-Wl,-plugin-opt=3D-pass-through=3D-llto-arm<br>
&gt;&nbsp;<span class=3D"x_apple-converted-space">&nbsp;</span><br>
&gt;&nbsp; RELEASE_GCC5_ARM_CC_FLAGS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp; =3D DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unus=
ed-const-variable<br>
&gt; -RELEASE_GCC5_ARM_DLINK_FLAGS&nbsp;&nbsp;&nbsp;&nbsp; =3D DEF(GCC5_ARM=
_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,=
-plugin-opt=3D-pass-through=3D-llto-arm<br>
&gt; +RELEASE_GCC5_ARM_DLINK_FLAGS&nbsp;&nbsp;&nbsp;&nbsp; =3D DEF(GCC5_ARM=
_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/BaseTools/Bin/GccLto -llto-arm -Wl,-=
plugin-opt=3D-pass-through=3D-llto-arm<br>
&gt;&nbsp;<span class=3D"x_apple-converted-space">&nbsp;</span><br>
&gt;&nbsp;&nbsp;&nbsp; NOOPT_GCC5_ARM_CC_FLAGS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp; =3D DEF(GCC5_ARM_CC_FLAGS) -O0<br>
&gt;&nbsp;&nbsp;&nbsp; NOOPT_GCC5_ARM_DLINK_FLAGS&nbsp;&nbsp;&nbsp;&nbsp; =
=3D DEF(GCC5_ARM_DLINK_FLAGS) -O0<br>
&gt; @@ -2420,11 +2421,11 @@ RELEASE_GCC5_ARM_DLINK_FLAGS&nbsp;&nbsp;&nbsp;=
&nbsp; =3D DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKS<br>
&gt;&nbsp; *_GCC5_AARCH64_CC_XIPFLAGS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
=3D DEF(GCC5_AARCH64_CC_XIPFLAGS)<br>
&gt;&nbsp;<span class=3D"x_apple-converted-space">&nbsp;</span><br>
&gt;&nbsp;&nbsp;&nbsp; DEBUG_GCC5_AARCH64_CC_FLAGS&nbsp;&nbsp;&nbsp; =3D DE=
F(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-con=
st-variable<br>
&gt; -&nbsp; DEBUG_GCC5_AARCH64_DLINK_FLAGS =3D DEF(GCC5_AARCH64_DLINK_FLAG=
S) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin=
-opt=3D-pass-through=3D-llto-aarch64 -Wno-lto-type-mismatch<br>
&gt; +&nbsp; DEBUG_GCC5_AARCH64_DLINK_FLAGS =3D DEF(GCC5_AARCH64_DLINK_FLAG=
S) -flto -Os -L$(WORKSPACE)/BaseTools/Bin/GccLto -llto-aarch64 -Wl,-plugin-=
opt=3D-pass-through=3D-llto-aarch64 -Wno-lto-type-mismatch<br>
&gt;&nbsp;&nbsp;&nbsp; DEBUG_GCC5_AARCH64_DLINK_XIPFLAGS =3D -z common-page=
-size=3D0x20<br>
&gt;&nbsp;<span class=3D"x_apple-converted-space">&nbsp;</span><br>
&gt;&nbsp; RELEASE_GCC5_AARCH64_CC_FLAGS&nbsp;&nbsp;&nbsp; =3D DEF(GCC5_AAR=
CH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variabl=
e<br>
&gt; -RELEASE_GCC5_AARCH64_DLINK_FLAGS =3D DEF(GCC5_AARCH64_DLINK_FLAGS) -f=
lto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=
=3D-pass-through=3D-llto-aarch64 -Wno-lto-type-mismatch<br>
&gt; +RELEASE_GCC5_AARCH64_DLINK_FLAGS =3D DEF(GCC5_AARCH64_DLINK_FLAGS) -f=
lto -Os -L$(WORKSPACE)/BaseTools/Bin/GccLto -llto-aarch64 -Wl,-plugin-opt=
=3D-pass-through=3D-llto-aarch64 -Wno-lto-type-mismatch<br>
&gt;&nbsp; RELEASE_GCC5_AARCH64_DLINK_XIPFLAGS =3D -z common-page-size=3D0x=
20<br>
&gt;&nbsp;<span class=3D"x_apple-converted-space">&nbsp;</span><br>
&gt;&nbsp;&nbsp;&nbsp; NOOPT_GCC5_AARCH64_CC_FLAGS&nbsp;&nbsp;&nbsp; =3D DE=
F(GCC5_AARCH64_CC_FLAGS) -O0<br>
&gt; @@ -2681,11 +2682,11 @@ DEFINE CLANG38_ARM_DLINK_FLAGS&nbsp;&nbsp; =3D=
 DEF(CLANG38_ARM_TARGET) DEF(GCC_ARM_DLINK_FLA<br>
&gt;&nbsp; *_CLANG38_ARM_CC_XIPFLAGS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp; =3D DEF(GCC_ARM_CC_XIPFLAGS)<br>
&gt;&nbsp;<span class=3D"x_apple-converted-space">&nbsp;</span><br>
&gt;&nbsp;&nbsp;&nbsp; DEBUG_CLANG38_ARM_CC_FLAGS&nbsp;&nbsp;&nbsp;&nbsp; =
=3D DEF(CLANG38_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -flto -O1<b=
r>
&gt; -&nbsp; DEBUG_CLANG38_ARM_DLINK_FLAGS&nbsp; =3D DEF(CLANG38_ARM_DLINK_=
FLAGS) -flto -Wl,-O1 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-pl=
ugin-opt=3D-pass-through=3D-llto-arm<br>
&gt; +&nbsp; DEBUG_CLANG38_ARM_DLINK_FLAGS&nbsp; =3D DEF(CLANG38_ARM_DLINK_=
FLAGS) -flto -Wl,-O1 -L$(WORKSPACE)/BaseTools/Bin/GccLto -llto-arm -Wl,-plu=
gin-opt=3D-pass-through=3D-llto-arm<br>
&gt;&nbsp;&nbsp;&nbsp; NOOPT_CLANG38_ARM_CC_FLAGS&nbsp;&nbsp;&nbsp;&nbsp; =
=3D DEF(CLANG38_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O0<br>
&gt;&nbsp;&nbsp;&nbsp; NOOPT_CLANG38_ARM_DLINK_FLAGS&nbsp; =3D DEF(CLANG38_=
ARM_DLINK_FLAGS)<br>
&gt;&nbsp; RELEASE_CLANG38_ARM_CC_FLAGS&nbsp;&nbsp;&nbsp;&nbsp; =3D DEF(CLA=
NG38_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -flto -O3<br>
&gt; -RELEASE_CLANG38_ARM_DLINK_FLAGS&nbsp; =3D DEF(CLANG38_ARM_DLINK_FLAGS=
) -flto -Wl,-O3 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-=
opt=3D-pass-through=3D-llto-arm<br>
&gt; +RELEASE_CLANG38_ARM_DLINK_FLAGS&nbsp; =3D DEF(CLANG38_ARM_DLINK_FLAGS=
) -flto -Wl,-O3 -L$(WORKSPACE)/BaseTools/Bin/GccLto -llto-arm -Wl,-plugin-o=
pt=3D-pass-through=3D-llto-arm<br>
&gt;&nbsp;<span class=3D"x_apple-converted-space">&nbsp;</span><br>
&gt;&nbsp; ##################<br>
&gt;&nbsp; # CLANG38 AARCH64 definitions<br>
&gt; @@ -2727,11 +2728,11 @@ DEFINE CLANG38_AARCH64_DLINK_FLAGS&nbsp; =3D D=
EF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH6<br>
&gt;&nbsp; *_CLANG38_AARCH64_CC_XIPFLAGS&nbsp;&nbsp;&nbsp; =3D DEF(GCC_AARC=
H64_CC_XIPFLAGS)<br>
&gt;&nbsp;<span class=3D"x_apple-converted-space">&nbsp;</span><br>
&gt;&nbsp;&nbsp;&nbsp; DEBUG_CLANG38_AARCH64_CC_FLAGS&nbsp;&nbsp;&nbsp; =3D=
 DEF(CLANG38_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -flto -O1<=
br>
&gt; -&nbsp; DEBUG_CLANG38_AARCH64_DLINK_FLAGS =3D DEF(CLANG38_AARCH64_DLIN=
K_FLAGS) -flto -Wl,-O1 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -=
Wl,-plugin-opt=3D-pass-through=3D-llto-aarch64<br>
&gt; +&nbsp; DEBUG_CLANG38_AARCH64_DLINK_FLAGS =3D DEF(CLANG38_AARCH64_DLIN=
K_FLAGS) -flto -Wl,-O1 -L$(WORKSPACE)/BaseTools/Bin/GccLto -llto-aarch64 -W=
l,-plugin-opt=3D-pass-through=3D-llto-aarch64<br>
&gt;&nbsp;&nbsp;&nbsp; NOOPT_CLANG38_AARCH64_CC_FLAGS&nbsp;&nbsp;&nbsp; =3D=
 DEF(CLANG38_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O0<br>
&gt;&nbsp;&nbsp;&nbsp; NOOPT_CLANG38_AARCH64_DLINK_FLAGS =3D DEF(CLANG38_AA=
RCH64_DLINK_FLAGS)<br>
&gt;&nbsp; RELEASE_CLANG38_AARCH64_CC_FLAGS&nbsp;&nbsp;&nbsp; =3D DEF(CLANG=
38_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -flto -O3<br>
&gt; -RELEASE_CLANG38_AARCH64_DLINK_FLAGS =3D DEF(CLANG38_AARCH64_DLINK_FLA=
GS) -flto -Wl,-O3 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-p=
lugin-opt=3D-pass-through=3D-llto-aarch64<br>
&gt; +RELEASE_CLANG38_AARCH64_DLINK_FLAGS =3D DEF(CLANG38_AARCH64_DLINK_FLA=
GS) -flto -Wl,-O3 -L$(WORKSPACE)/BaseTools/Bin/GccLto -llto-aarch64 -Wl,-pl=
ugin-opt=3D-pass-through=3D-llto-aarch64<br>
&gt;&nbsp;<span class=3D"x_apple-converted-space">&nbsp;</span><br>
&gt;&nbsp; ################################################################=
####################<br>
&gt;&nbsp; #<br>
&gt; --<span class=3D"x_apple-converted-space">&nbsp;</span><br>
&gt; 2.31.1.windows.1<br>
&gt;<span class=3D"x_apple-converted-space">&nbsp;</span><br>
<br>
<br>
<br>
<br>
<br>
</p>
<div>
<p class=3D"x_MsoNormal">&nbsp;</p>
</div>
<div>
<p class=3D"x_MsoNormal"></p>
</div>
</div>
</blockquote>
</div>
<p class=3D"x_MsoNormal">&nbsp;</p>
</div>
</div>
</body>
</html>

--_000_MW4PR21MB1907A0826B4E9987765B80FAEF8C9MW4PR21MB1907namp_--