From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (NAM11-CO1-obe.outbound.protection.outlook.com [40.107.220.80]) by mx.groups.io with SMTP id smtpd.web11.77072.1670946147526929026 for ; Tue, 13 Dec 2022 07:42:27 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@nvidia.com header.s=selector2 header.b=CyXtIgVA; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: nvidia.com, ip: 40.107.220.80, mailfrom: jake@nvidia.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XFFJ6zjfqb99I7g0GQOp0hKYdqARRJtkA6l/8KV6rkRxiUCefcVW8E2s31v6/31shJ5UrekNanofyVltPpWh9zgJ8AKabTFy0GEnmqTNRuX0LZq/fklum7Lmd4ocjucpM0sHQaX33cXoOIS2dyrzRV0W2zd75RTQE0Mm2JjavQIbpM0gC6daZUuU/NeidtFguVu3JCYsojI0UqdAZrIuTk1Ma/K0CRJkSqIA+Jv2CDd6ffKO5HV4dOrV025rQjEz7cx5f2HQvX14jZ3lYMdLQysRw1EeoHbAfiRvkUoC2o/+0jbw+n6uA5HUUfQ8Ux5x88MPdXcCU5hFyBZfxzY3ZA== 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=OegFHHUJP5TLxOcp2AYiKb/VrzH9kkbsabyx/D5W5kY=; b=II4D1DfZqaIMrEixUr4RbbzY1oXbO3Anv+ZoKYanRYQ7kIu8btfqCVfkmShz8CeYvctq+oBchDvXb57FFyuxi6zVVq7xopHvUzViiuRgJiDCSQDtwxdsZiIl1gkB79+QWSZPcABZ1pXzN3HlZ2tXnNCCsw7FZnOlAsCN/bB/dZ2/i0df2giP3MvfJHilRgDIzgRNm7PeTGGCz3J6dWMGjEZ2OD00syCypY4OdGg0gPz5SbiFDCcJxh5VB5ZRl6w3AS+plVHy1u/c43fHHILfwEPc7EADnibGB+EavGFdHynRkgHcMgl/EmggqDyLCab7vfYavrM+1Vb0r45RydQztA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OegFHHUJP5TLxOcp2AYiKb/VrzH9kkbsabyx/D5W5kY=; b=CyXtIgVASGQRbnbP1RuQnhstMw+xl12/azTI1Qe0r8gJrehhudd1HEibpCciueuuqgqiNmsVhqyuafco28iJGvFc/dt6O/J+SQ5+q5U9XhMC2MyvoYO07kSSnn5fVIknZ8OVjFg97S/l5cWbKIYO3VPKjGYLPF7CqMRrpbWgU3Ab6JuBHXq3PyCfxIVIkeq6TE47x29tPn7D/+Z5RTg/RgXNNy8qDP/BV1xkEFGejTS4i2g7w5dEWNm8OSCetkeKKbIpkMoQOFYmuHPRDZDwsQPGWEYJQuuPu4htp9yGMWdgEiWQVGn5Kq6/FRq0+gVGi4h3fFEPBzAmHZpyEL2DJQ== Received: from MN2PR12MB4488.namprd12.prod.outlook.com (2603:10b6:208:24e::19) by DM4PR12MB5843.namprd12.prod.outlook.com (2603:10b6:8:66::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 13 Dec 2022 15:42:25 +0000 Received: from MN2PR12MB4488.namprd12.prod.outlook.com ([fe80::38e0:383a:5f56:1f06]) by MN2PR12MB4488.namprd12.prod.outlook.com ([fe80::38e0:383a:5f56:1f06%5]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022 15:42:25 +0000 From: "Jake Garver" To: Konstantin Aladyshev CC: "devel@edk2.groups.io" , "bob.c.feng@intel.com" , "gaoliming@byosoft.com.cn" , "yuwei.chen@intel.com" Subject: Re: [PATCH] Revert "BaseTools/Conf: Fix Dynamic-Library-File template" Thread-Topic: [PATCH] Revert "BaseTools/Conf: Fix Dynamic-Library-File template" Thread-Index: AQHZDisHhqU6ZQqHH0CoH285ucXVP65qYXfNgAAJ5gCAAYDqxA== Date: Tue, 13 Dec 2022 15:42:25 +0000 Message-ID: References: <20221212130924.8156-1-aladyshev22@gmail.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR12MB4488:EE_|DM4PR12MB5843:EE_ x-ms-office365-filtering-correlation-id: 84c472b9-7a43-453c-e3a0-08dadd20a1e1 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: kTj4JpsuX487GwvpFirOzL46Cxps3F7MTJNcQGpZcOc66VBEJnWoqS5ppGS2My9aPLkIAEZHlfsgilDfnQ/ZKx0Z9hLO+6z3annftm3TPE2KUDHELtTkTH3PwHwp1XwwGMOkU6S06WkF6CgoHIhIP9SmHt0NeEmDOGipx897+8bfFoTA310CXBu5H3kZiMvom9y22U87GlmszlodJp4E31/1EE3NJuFy8gJYxA6VcVV6Lqm100IKz6jS4Ngx5e+R+MDxaz+uiqAh9ujwLGTEtg7XQI9IUyP1fN4+q+SK6N9CtoEGHac6Xde782NFJLzi+C0b21nUoKpZlk4VQmZviO1b+wkMSbtM+1OENmP6tLkJHu+1cE1VfBgQv5vc9XmJPtVw6Em9sIHetZeVWH0J4MvT4b9q9kWboiWXpNAlt1Aty+RB0/o1FGEdlAuW9+q4nRjqrxPRIUA7CDpBi6i+nyUVHxCCwxVQcIzAI/QuZrfXV6x9bJVNnnjmGNqv+au4oIxsLFReX4sotHB0gaS2q7bsMOxfAhaWJgtGDz5Re9p0hDf0+JOolNMZF64ULVcAof9dgz5U5DUwpgOzeajp587es0DW7K/X6h2KmMFHMhZXmnh/JhfVGsZUBTEWnhmcx3w4KIgpzAVezILAA4OZoNepLrKxl/x2YLklkOR3Axa+BQGI0igoQlkL61RGhS6u6PwnjT1nzh19q3G23/VuMw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR12MB4488.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(39860400002)(346002)(396003)(376002)(136003)(84040400005)(451199015)(55016003)(66946007)(86362001)(6506007)(6916009)(478600001)(33656002)(9686003)(7696005)(54906003)(26005)(186003)(41300700001)(83380400001)(2906002)(52536014)(5660300002)(8936002)(38100700002)(4326008)(66556008)(19627405001)(66446008)(66476007)(71200400001)(76116006)(64756008)(316002)(38070700005)(8676002)(122000001)(53546011);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?/RuVF+yR6BnKPOFcQAOpXzW4ZX5gl0gYpfHDVz55ck3AC0X5Sbrbgm6ccIeG?= =?us-ascii?Q?eDAPNhiLfEZJr1/JBHFFeq1JSoMUot8TFCtnzs1DLn+szy/kdMKat62H4W4Z?= =?us-ascii?Q?G7nC+XQ3uhLaj8PPNXft/AwZOFz015GlzHNaY8IGokn8hj1UO6p7x71fZFYK?= =?us-ascii?Q?DfAeX2udV6q/R+cvIIva4Zx7a5xRXoylX1p4n8AbPsvHbC+CBXKYDAREI/Rw?= =?us-ascii?Q?nMcAVRm9YjC4ONMuGA/SB7MZfQl5Pmhj6ZNax/CevQ0D6pjPTUSjoou7e7EH?= =?us-ascii?Q?zuOUVM55+xG/uJkg6qVBW0M2wwt3umiLleebkPonv7kCCiOLT6f5wB3pFufQ?= =?us-ascii?Q?k2SPTW0pL/g4m6gp7qNBNkX7Jhy3X7xrgBAD39CjYkKRcMkaj5dCE6Jyyoty?= =?us-ascii?Q?Y9xrC+yAWV/e8V/mpG3V5Pk3neJV4RPNlOawCmfSNbaVV/42KsJS/5DXrD/W?= =?us-ascii?Q?0VQu9YBctTnhz5v3KrIKsyDLo4DOPN+fZpaLRxBMC3Ie1dFDVv8gxyE0LR2l?= =?us-ascii?Q?KmiKiCy4IacDqpSQcFC0T/JtDuo8rsJGVqM4BwSGvevk0t5i+JpPQaJ+e5Re?= =?us-ascii?Q?Xt+jW1+S9Y92tkjBN3uYkaZNyJpruRwfegNvOS3N3LUpCNTmwoIrPbczw7/k?= =?us-ascii?Q?dE/TTdw1hgW1o41kHF9xPeUKppNjFYuA34DkvuiFHEzPeKvGeX8qAqUeyyJI?= =?us-ascii?Q?Tz2n1igSbZbjY4tDnj//Nq75haWLEDGUT+yWysm5BKbsVLeQwROGHJDSglBY?= =?us-ascii?Q?aTKHX7kFycW3/AHXADIx5dYAogUicuGG1C8MQxiEH+KmtZ4rhVz344fOXQ4j?= =?us-ascii?Q?JHYxcHl7qhcRCrfb89yWh1NjGFhjeP+/NMCBXsbLta+KABdMEusZU1bTRdZA?= =?us-ascii?Q?ViCCR4zudgJM2ZgyfKTarHYCfKOP9931L2hfxDbDEtAJiuomOQMGPjXnJWxP?= =?us-ascii?Q?LmjguacjW9BHrZHgWqEu/c50SrL6ZJBCzZiI6G4NsuifPraw+9MPzFvdFm/s?= =?us-ascii?Q?1k5qo0zgkAwKWX4I6Cni2xST/DM9uhZ2Mnv0iG/ZZglKvlCYM7LuXtrRKyTZ?= =?us-ascii?Q?oFr+D2DmDMVurFIy2OOIiiIZ8iNSY0pqVhDixzTIo+XWaN5zY02XM7Rzd3W4?= =?us-ascii?Q?TcOeaMzZ0NVaiMTYGozfd0s0duOuom15rl+kYPlNtoLfuLrHcL5NF+Sj/3xA?= =?us-ascii?Q?pknh3zvQz04I2BPO57no3Oc9QSDQnplSBfvQSLtXTi6afFXlwAQV55g2RkZs?= =?us-ascii?Q?jRFN4378wzNQ3p663mrGB/KZH2DwyNTXucOxnhstYT60U2px37I0hCT0TYy4?= =?us-ascii?Q?KVyXcZdNbQFZ54VBRZC4y1zbASTXsd/nHyKrklguL92x7wYocXBJ2Ax35bs1?= =?us-ascii?Q?UcHCt86XNWpvvJMxlcwRNT1GbmOIJ877aIG5Lvu2eAp+PLTJOMLY+d8fHYIK?= =?us-ascii?Q?zrVY50NPktkdD0ebIdM1pDLRFtX2EJvlRBur2q491mfRO7/8bkKdYrQ3qRGb?= =?us-ascii?Q?r7Q0y8XZ0Vb4R3Mzn/A11o/X77xIS+NwLJxRc/xTiTn7fJbp2wwmNxT2iDiF?= =?us-ascii?Q?Mo5tKXLJlQhKTk4KE6E=3D?= MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB4488.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 84c472b9-7a43-453c-e3a0-08dadd20a1e1 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Dec 2022 15:42:25.0349 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: br1OFC9ONRDEGZkA2kPGcL7z+72Q1dev+hywdFCnTGvHBIcE3piH6fzJDOwJByhN X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5843 Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_MN2PR12MB448849FD53C2E3D7B45EE1A0ADE39MN2PR12MB4488namp_" --_000_MN2PR12MB448849FD53C2E3D7B45EE1A0ADE39MN2PR12MB4488namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi, Konstantin, Thanks for working with me offline to reproduce this. Short answer: We can live without the "$(DEBUG_DIR)(+)$(MODULE_NAME).efi" = output and I think removing that will resolve your issue. Rather than reve= rt the original change, can you submit a new patch that removes just that l= ine, after verifying? Thanks. Long answer: The problem is in how AutoGen/ModuleAutoGen.py builds up Rule= Chain in _ApplyBuildRule(). It cannot handle two outputs of the same type.= In this case, we have "$(OUTPUT_DIR)(+)$(MODULE_NAME).efi" and "$(DEBUG_D= IR)(+)$(MODULE_NAME).efi". In the _ApplyBuildRule(), each gets a FileType= =3D"EFI-IMAGE". That looks like a cyclic dep, but really, it's just a fork= in the dep tree. I think it would be better if _ApplyBuildRule() would co= nsider the output names instead of the output types, but that would be a si= gnificant change. And one that I think is unnecessary at this stage. In this case, I think we can live without identifying "$(DEBUG_DIR)(+)$(MOD= ULE_NAME).efi" as an output of the build rule. Then we'll dodge the _Apply= BuildRule() issue. My original issue was with an unidentified dependency o= n the "map" output, but I also added the debug efi for good measure because= it is also an output of that rule template. However, it appears to be an = output that nothing depends on, so it's unnecessary. Thanks, Jake ________________________________ From: Konstantin Aladyshev Sent: Monday, December 12, 2022 11:07 AM To: Jake Garver Cc: devel@edk2.groups.io ; bob.c.feng@intel.com ; gaoliming@byosoft.com.cn ; yuw= ei.chen@intel.com Subject: Re: [PATCH] Revert "BaseTools/Conf: Fix Dynamic-Library-File templ= ate" External email: Use caution opening links or attachments Hi, Jake! No, unfortunately I don't have any way to fix this, besides the patch rever= t. To reproduce the issue you can add the mentioned PCI_* defines to some simple DXE_DRIVER. For example: SimpleDriver/SimpleDriver.inf ``` [Defines] INF_VERSION =3D 1.25 BASE_NAME =3D SimpleDriver FILE_GUID =3D 384aeb18-105d-4af1-bf17-5e349e8f4d4c MODULE_TYPE =3D UEFI_DRIVER VERSION_STRING =3D 1.0 ENTRY_POINT =3D SimpleDriverEntryPoint UNLOAD_IMAGE =3D SimpleDriverUnload PCI_VENDOR_ID =3D 0x1234 PCI_DEVICE_ID =3D 0x5678 PCI_CLASS_CODE =3D 0x0001 PCI_REVISION =3D 0x0002 [Sources] SimpleDriver.c [Packages] MdePkg/MdePkg.dec [LibraryClasses] UefiDriverEntryPoint UefiLib ``` SimpleDriver/SimpleDriver.c ``` #include #include EFI_STATUS EFIAPI SimpleDriverUnload ( EFI_HANDLE ImageHandle ) { return EFI_SUCCESS; } EFI_STATUS EFIAPI SimpleDriverEntryPoint ( IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable ) { return EFI_SUCCESS; } ``` It is enough to reproduce the issue. Normally the build system should compile the driver code fine and then call the EfiRom utility to produce the OptionROM image. But with the d372ab585a2cdc5348af5f701c56c631235fe698 in place the driver build fails. Best regards, Konstantin Aladyshev On Mon, Dec 12, 2022 at 6:35 PM Jake Garver wrote: > > Hi, Konstantin, > > Do you have a fix for the cyclic redundancy issue when building OptionROM= s? If not, can you help me reproduce it? > > I'd hate to revert d372ab as it fixed dependency issues we frequently ran= into during parallel builds. > > Thanks, > Jake > ________________________________ > From: Konstantin Aladyshev > Sent: Monday, December 12, 2022 8:09 AM > To: devel@edk2.groups.io > Cc: bob.c.feng@intel.com ; gaoliming@byosoft.com.cn= ; yuwei.chen@intel.com ; J= ake Garver ; Konstantin Aladyshev > Subject: [PATCH] Revert "BaseTools/Conf: Fix Dynamic-Library-File templat= e" > > External email: Use caution opening links or attachments > > > Revert commit d372ab585a2cdc5348af5f701c56c631235fe698. > > EdkII build system supports OptionROM generation if particular PCI_* > defines are present in the module INF file: > ``` > [Defines] > ... > PCI_VENDOR_ID =3D <...> > PCI_DEVICE_ID =3D <...> > PCI_CLASS_CODE =3D <...> > PCI_REVISION =3D <...> > ``` > Although after the commit d372ab585a2cdc5348af5f701c56c631235fe698 > it is no longer possible. > The build system fails with the error: > ``` > Cyclic dependency detected while generating rule for > "<...>/DEBUG/<...>.efi" file > ``` > Revert d372ab585a2cdc5348af5f701c56c631235fe698 until the issue > is resolved. > --- > BaseTools/Conf/build_rule.template | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_ru= le.template > index af4819de92..32053f6353 100755 > --- a/BaseTools/Conf/build_rule.template > +++ b/BaseTools/Conf/build_rule.template > @@ -342,8 +342,6 @@ > > > > > $(OUTPUT_DIR)(+)$(MODULE_NAME).efi > > - $(DEBUG_DIR)(+)$(MODULE_NAME).efi > > - $(OUTPUT_DIR)(+)$(MODULE_NAME).map > > > > > > "$(GENFW)" -e $(MODULE_TYPE) -o ${dst} ${src} $(GENFW_FLAGS) > > -- > 2.34.1 > --_000_MN2PR12MB448849FD53C2E3D7B45EE1A0ADE39MN2PR12MB4488namp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable
Hi, Konstantin,

Thanks for working with me offline to reproduce thi= s.

Short answer:  We can= live without the "$(DEBUG_DIR)(+)$(MODULE_NAME).efi" output and I think removing that will resolve your issue.  Rather tha= n revert the original change, can you submit a new patch that removes just = that line, after verifying?  Thanks.

Long answer:  The problem is in how AutoGen/ModuleAutoGen.py builds up RuleChain in _Ap= plyBuildRule().  It cannot handle two outputs of the same type.  = In this case, we have "$(OUTPUT_DIR)(+)$(MODULE_NAME).efi" and &q= uot;$(DEBUG_DIR)(+)$(MODULE_NAME).efi".  In the _ApplyBuildRule(), each gets a FileType=3D"EFI-IMAGE".  That looks like a cycl= ic dep, but really, it's just a fork in the dep tree.  I think it woul= d be better if _ApplyBuildRule() would consider the output names instead of the output typ= es, but that would be a significant change.  And one that I think is u= nnecessary at this stage.

In this case, I think we can live without identifying "$(DEBUG_DIR)(+)$(MODULE_NAME).efi" as an output of the= build rule.  Then we'll dodge the _ApplyBuildRule() issue.  My original issue was with an un= identified dependency on the "map" output, but I also added the d= ebug efi for good measure because it is also an output of that rule templat= e.  However, it appears to be an output that nothing depends on, so it's unnecessary.

Thanks,
Jake


From: Konstantin Aladyshev = <aladyshev22@gmail.com>
Sent: Monday, December 12, 2022 11:07 AM
To: Jake Garver <jake@nvidia.com>
Cc: devel@edk2.groups.io <devel@edk2.groups.io>; bob.c.feng@in= tel.com <bob.c.feng@intel.com>; gaoliming@byosoft.com.cn <gaolimin= g@byosoft.com.cn>; yuwei.chen@intel.com <yuwei.chen@intel.com>
Subject: Re: [PATCH] Revert "BaseTools/Conf: Fix Dynamic-Librar= y-File template"
 
External email: Use caution opening links or attac= hments


Hi, Jake!

No, unfortunately I don't have any way to fix this, besides the patch rever= t.

To reproduce the issue you can add the mentioned PCI_* defines to some
simple DXE_DRIVER.

For example:

SimpleDriver/SimpleDriver.inf
```
[Defines]
  INF_VERSION         &nb= sp;          =3D 1.25
  BASE_NAME          = ;            =3D Sim= pleDriver
  FILE_GUID          = ;            =3D 384= aeb18-105d-4af1-bf17-5e349e8f4d4c
  MODULE_TYPE         &nb= sp;          =3D UEFI_DRIVER   VERSION_STRING         =         =3D 1.0
  ENTRY_POINT         &nb= sp;          =3D SimpleDriverE= ntryPoint
  UNLOAD_IMAGE         &n= bsp;         =3D SimpleDriverUnload=
  PCI_VENDOR_ID         &= nbsp;        =3D 0x1234
  PCI_DEVICE_ID         &= nbsp;        =3D 0x5678
  PCI_CLASS_CODE         =         =3D 0x0001
  PCI_REVISION         &n= bsp;         =3D 0x0002

[Sources]
  SimpleDriver.c

[Packages]
  MdePkg/MdePkg.dec

[LibraryClasses]
  UefiDriverEntryPoint
  UefiLib
```

SimpleDriver/SimpleDriver.c
```
#include <Library/UefiBootServicesTableLib.h>
#include <Library/UefiLib.h>


EFI_STATUS
EFIAPI
SimpleDriverUnload (
  EFI_HANDLE ImageHandle
  )
{
  return EFI_SUCCESS;
}

EFI_STATUS
EFIAPI
SimpleDriverEntryPoint (
  IN EFI_HANDLE        ImageHandle,=
  IN EFI_SYSTEM_TABLE  *SystemTable
  )
{
  return EFI_SUCCESS;
}
```
It is enough to reproduce the issue.
Normally the build system should compile the driver code fine and then
call the EfiRom utility to produce the OptionROM image. But with the
d372ab585a2cdc5348af5f701c56c631235fe698 in place the driver build
fails.

Best regards,
Konstantin Aladyshev

On Mon, Dec 12, 2022 at 6:35 PM Jake Garver <jake@nvidia.com> wrote:<= br> >
> Hi, Konstantin,
>
> Do you have a fix for the cyclic redundancy issue when building Option= ROMs?  If not, can you help me reproduce it?
>
> I'd hate to revert d372ab as it fixed dependency issues we frequently = ran into during parallel builds.
>
> Thanks,
> Jake
> ________________________________
> From: Konstantin Aladyshev <aladyshev22@gmail.com>
> Sent: Monday, December 12, 2022 8:09 AM
> To: devel@edk2.groups.io <devel@edk2.groups.io>
> Cc: bob.c.feng@intel.com <bob.c.feng@intel.com>; gaoliming@byoso= ft.com.cn <gaoliming@byosoft.com.cn>; yuwei.chen@intel.com <yuwei.= chen@intel.com>; Jake Garver <jake@nvidia.com>; Konstantin Aladysh= ev <aladyshev22@gmail.com>
> Subject: [PATCH] Revert "BaseTools/Conf: Fix Dynamic-Library-File= template"
>
> External email: Use caution opening links or attachments
>
>
> Revert commit d372ab585a2cdc5348af5f701c56c631235fe698.
>
> EdkII build system supports OptionROM generation if particular PCI_* > defines are present in the module INF file:
> ```
> [Defines]
>   ...
>   PCI_VENDOR_ID       &nb= sp;          =3D <...> >   PCI_DEVICE_ID       &nb= sp;          =3D <...> >   PCI_CLASS_CODE       &n= bsp;         =3D <...>
>   PCI_REVISION       &nbs= p;           =3D <...&= gt;
> ```
> Although after the commit d372ab585a2cdc5348af5f701c56c631235fe698
> it is no longer possible.
> The build system fails with the error:
> ```
> Cyclic dependency detected while generating rule for
> "<...>/DEBUG/<...>.efi" file
> ```
> Revert d372ab585a2cdc5348af5f701c56c631235fe698 until the issue
> is resolved.
> ---
>  BaseTools/Conf/build_rule.template | 2 --
>  1 file changed, 2 deletions(-)
>
> diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build= _rule.template
> index af4819de92..32053f6353 100755
> --- a/BaseTools/Conf/build_rule.template
> +++ b/BaseTools/Conf/build_rule.template
> @@ -342,8 +342,6 @@
>
>
>      <OutputFile>
>
>          $(OUTPUT_DIR)(+)= $(MODULE_NAME).efi
>
> -        $(DEBUG_DIR)(+)$(MODULE_NA= ME).efi
>
> -        $(OUTPUT_DIR)(+)$(MODULE_N= AME).map
>
>
>
>      <Command.MSFT, Command.INTEL, Command= .CLANGPDB>
>
>          "$(GENFW)&q= uot; -e $(MODULE_TYPE) -o ${dst} ${src} $(GENFW_FLAGS)
>
> --
> 2.34.1
>
--_000_MN2PR12MB448849FD53C2E3D7B45EE1A0ADE39MN2PR12MB4488namp_--