> -----Original Message----- > From: Kinney, Michael D > Sent: Wednesday, August 28, 2019 1:25 PM > To: Wu, Hao A; Leif Lindholm; Laszlo Ersek; Kinney, Michael D > Cc: devel@edk2.groups.io; Andrew Fish; Baptiste Gerondeau; Wang, Jian J; > Feng, Bob C; Gao, Liming > Subject: RE: [PATCH 1/1] MdeModulePkg: fix !x86 builds (more) > > Hao Wu, > > Please provide a patch to BaseTools to restore the previous behavior. > > We need that to review the complexity of the change to determine > what to do. Without that information today, the release date > of this stable tag is at risk.
Hello Mike, I confirmed with Bob that he is preparing a new BaseTools patch to restore the previous behavior. Best Regards, Hao Wu > > Mike > > > -----Original Message----- > > From: Wu, Hao A > > Sent: Tuesday, August 27, 2019 6:40 PM > > To: Leif Lindholm <leif.lindh...@linaro.org>; Laszlo > > Ersek <ler...@redhat.com>; Kinney, Michael D > > <michael.d.kin...@intel.com> > > Cc: devel@edk2.groups.io; Andrew Fish <af...@apple.com>; > > Baptiste Gerondeau <baptiste.gerond...@linaro.org>; Wang, > > Jian J <jian.j.w...@intel.com>; Feng, Bob C > > <bob.c.f...@intel.com>; Gao, Liming > > <liming....@intel.com> > > Subject: RE: [PATCH 1/1] MdeModulePkg: fix !x86 builds > > (more) > > > > > -----Original Message----- > > > From: Leif Lindholm [mailto:leif.lindh...@linaro.org] > > > Sent: Wednesday, August 28, 2019 4:59 AM > > > To: Laszlo Ersek > > > Cc: devel@edk2.groups.io; Andrew Fish; Kinney, Michael > > D; Baptiste > > > Gerondeau; Wang, Jian J; Wu, Hao A; Feng, Bob C; Gao, > > Liming > > > Subject: Re: [PATCH 1/1] MdeModulePkg: fix !x86 builds > > (more) > > > > > > +Bob, Liming, > > > > > > On Tue, Aug 27, 2019 at 09:26:05PM +0200, Laszlo Ersek > > wrote: > > > > Hi Leif, > > > > > > > > On 08/27/19 14:43, Leif Lindholm wrote: > > > > > Commit 4a1f6b85c184 > > > > > ("MdeModulePkg: add LockBoxNullLib for !IA32/X64 in > > .dsc") added > > > > > an ARM/AARCH64 resolution for LockBoxLib. However, > > this failed to > > > > > address the overrides provided for PEIM, > > DXE_DRIVER, > > > > > DXE_RUNTIME_DRIVER, DXE_SMM_DRIVER and UEFI_DRIVER, > > so any > > > modules > > > > > of those classes still failed to build. > > > > > > > > > > Break these out properly into their own > > LibraryClasses sections. > > > > > > > > > > Resolves BZ: > > https://bugzilla.tianocore.org/show_bug.cgi?id=2134 > > > > > > > > > > Signed-off-by: Leif Lindholm > > <leif.lindh...@linaro.org> > > > > > Reported-by: Baptiste Gerondeau > > <baptiste.gerond...@linaro.org> > > > > > Cc: Jian J Wang <jian.j.w...@intel.com> > > > > > Cc: Hao A Wu <hao.a...@intel.com> > > > > > --- > > > > > > > > > > I don't understand how the above would appear to > > work back when I > > > > > submitted the previous patch but not work now, but > > I haven't dug > > > > > into it deeper. Including the x86-specific > > LockBoxLib in the > > > > > .common section is however clearly not correct. > > > > > > > > I agree with you that the present situation is not > > correct. > > > > > > > > According to: > > > > > > > > https://edk2-docs.gitbooks.io/edk-ii-dsc- > > > > > specification/2_dsc_overview/26_[libraryclasses]_section_ > > processing.ht > > > ml > > > > > > > > the library class resolutions take effect in the > > following order > > > > (entries near the top have higher priority): > > > > > > > > > 1. <LibraryClasses> associated with the INF file in > > the > > > > > [Components] > > > section > > > > > 2. [LibraryClasses.$(Arch).$(MODULE_TYPE), > > > LibraryClasses.$(Arch).$(MODULE_TYPE)] > > > > > 3. [LibraryClasses.$(Arch).$(MODULE_TYPE)] > > > > > 4. [LibraryClasses.common.$(MODULE_TYPE)] > > > > > 5. [LibraryClasses.$(Arch)] > > > > > 6. [LibraryClasses.common] or [LibraryClasses] > > > > > > > > (Side comment 1: levels #2 and #3 look very similar; > > I think the > > > > difference is that #2 is supposed to be a multi-arch > > and/or > > > > multi-module-type section, while #3 is a single-arch > > and > > > > single-module-type section.) > > > > > > > > Commit 4a1f6b85c184 ("MdeModulePkg: add > > LockBoxNullLib for !IA32/X64 > > > in > > > > .dsc", 2019-03-27) provided a LockBoxLib resolution > > at level #5: > > > > > > Yes. > > > > > > > > [LibraryClasses.ARM, LibraryClasses.AARCH64] > > > > > > > > However, the other LockBoxLib resolutions are at > > level #4: > > > > > > > > > [LibraryClasses.common.PEIM] > > > > > [LibraryClasses.common.DXE_DRIVER] > > > > > [LibraryClasses.common.DXE_RUNTIME_DRIVER] > > > > > [LibraryClasses.common.DXE_SMM_DRIVER] > > > > > [LibraryClasses.common.UEFI_DRIVER] > > > > > > > > So the latter taking priority is actually specified > > behavior. > > > > > > Hmm. That's not great. > > > Anyway, I stopped being lazy and did a bisect. > > > > > > The culprit is > > > e8449e1d8e3b ("BaseTools: Decouple AutoGen Objects"), > > marked as > > > resolving > > https://bugzilla.tianocore.org/show_bug.cgi?id=1875. > > > > > > This also affects SignedCapsulePkg/SignedCapsulePkg.dsc > > (although once > > > addressed, AARCH64 also needs a NULL entry added for > > > CompilerIntrinsicsLib. > > > > > > > (Side comment 2: EBC is in the same boat, from commit > > cbcccd2c9d93 > > > > ("Update Code to pass EBC compiler", 2013-05-13): > > > > > > > > > [LibraryClasses.EBC] > > > > > > > > > > > > LockBoxLib|MdeModulePkg/Library/LockBoxNullLib/LockBoxNul > > lLib.inf > > > > ) > > > > > > > > As to why this breakage was not exposed right at > > commit 4a1f6b85c184 > > > > -- I have no idea. Perhaps it was hidden by a > > BaseTools issue that > > > > has been fixed meanwhile. > > > > > > Yes. > > > But it is also a fundamental change in tool behaviour > > introduced on 9 > > > August. I am really uncomfortable about this making it > > into the > > > release this week - but I also believe this is the > > foundation for the > > > multiprocess autogen. > > > > > > Since you have very helpfully analyzed *what* changed > > ... would the > > > better "fix" for 2019.08 be to intentionally break the > > new code to > > > conform to the old behaviour - and then revert that > > patch after the > > > tag? > > > > > > If we do that, this patch could then wait and indeed be > > merged as part > > > of the same set. > > > > > > > On 08/27/19 14:43, Leif Lindholm wrote: > > > > > I think a fix for this issue needs to go into > > 2019.08, > > > > > > > > I agree the problem should be fixed in 2019.08 -- > > taking your word > > > > that commit 4a1f6b85c184 *appeared* to fix the > > MdeModulePkg.dsc > > > > build for ARM/AARCH64, we now have a regression since > > that commit > > > > (dated 2019-03-27). > > > > > > > > > but if someone has a prettier suggestion, I am not > > wedded to this one. > > > > > > > > I think this is good enough. The lib class > > resolutions are raised to > > > > level #2, but they will no longer match ARM / > > AARCH64, so your > > > > level#5 addition from commit 4a1f6b85c184 will take > > effect. > > > > > > > > > > > > > > MdeModulePkg/MdeModulePkg.dsc | 16 +++++++++++++-- > > - > > > > > 1 file changed, 13 insertions(+), 3 deletions(-) > > > > > > > > > > diff --git a/MdeModulePkg/MdeModulePkg.dsc > > > b/MdeModulePkg/MdeModulePkg.dsc > > > > > index 4320839abfb5..15ba96cecbed 100644 > > > > > --- a/MdeModulePkg/MdeModulePkg.dsc > > > > > +++ b/MdeModulePkg/MdeModulePkg.dsc > > > > > @@ -109,6 +109,8 @@ [LibraryClasses.common.PEIM] > > > > > HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf > > > > > > > > > > MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib > > /PeiMemory > > > AllocationLib.inf > > > > > > > > > > ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSe > > ctionLib/PeiE > > > ExtractGuidedSectionLib|x > > > tractGuidedSectionLib.inf > > > > > + > > > > > +[LibraryClasses.IA32.PEIM,LibraryClasses.X64.PEIM] > > > > > > > > > > LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxP > > eiLib.inf > > > > > > > > (1) I suggest replacing "," with ", ". (That's more > > consistent with > > > > preexistent section headers in the DSC file.) Applies > > to the other > > > > new section headers too. > > > > > > Yes, fair point. > > > > > > > > > > > > > [LibraryClasses.common.DXE_CORE] > > > > > @@ -118,18 +120,22 @@ > > [LibraryClasses.common.DXE_CORE] > > > > > > > > > > [LibraryClasses.common.DXE_DRIVER] > > > > > HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf > > > > > - > > > > > LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxD > > xeLib.in > > > f > > > > > > > > > > MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLi > > b/UefiMemo > > > ryAllocationLib.inf > > > > > > > > > > ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSe > > ctionLib/DxeE > > > xtractGuidedSectionLib.inf > > > > > > > > > > CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsu > > leLib.inf > > > > > > > > > > > > +[LibraryClasses.IA32.DXE_DRIVER,LibraryClasses.X64.DXE_D > > RIVER] > > > > > + > > > > > LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxD > > xeLib.in > > > f > > > > > + > > > > > [LibraryClasses.common.DXE_RUNTIME_DRIVER] > > > > > HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf > > > > > > > > > > MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLi > > b/UefiMemo > > > ryAllocationLib.inf > > > > > > > > > > DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibCo > > nOut.inf > > > > > - > > > > > LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxD > > xeLib.in > > > f > > > > > > > > > > CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRunti > > meCapsule > > > Lib.inf > > > > > > > > > > > > > > > +[LibraryClasses.IA32.DXE_RUNTIME_DRIVER,LibraryClasses.X > > 64.DXE_RUNTI > > > ME_DRIVER] > > > > > + > > > > > LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxD > > xeLib.in > > > f > > > > > + > > > > > [LibraryClasses.common.SMM_CORE] > > > > > HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf > > > > > > > > > > MemoryAllocationLib|MdeModulePkg/Library/PiSmmCoreMemoryA > > llocatio > > > nLib/PiSmmCoreMemoryAllocationLib.inf > > > > > @@ -143,13 +149,17 @@ > > [LibraryClasses.common.DXE_SMM_DRIVER] > > > > > > > > > > MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib > > /SmmMe > > > moryAllocationLib.inf > > > > > > > > > > MmServicesTableLib|MdePkg/Library/MmServicesTableLib/MmSe > > rvicesTabl > > > eLib.inf > > > > > > > > > > SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/Sm > > mServicesT > > > ableLib.inf > > > > > + SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf > > > > > + > > > > > > > > > > +[LibraryClasses.IA32.DXE_SMM_DRIVER,LibraryClasses.X64.D > > XE_SMM_DRI > > > VER] > > > > > > > > > > LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxS > > mmLib.i > > > nf > > > > > - SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf > > > > > > > > > > > > > I wonder if this is really necessary. I would assume > > all the > > > > DXE_SMM_DRIVER modules are listed under > > > > > > > > [Components.IA32, Components.X64] > > > > > > > > already. But, this hunk certainly doesn't hurt. > > > > > > Well, this fixes the current issue. I completely agree > > the file could > > > benefit from some overall restructuring. > > > > > > > > [LibraryClasses.common.UEFI_DRIVER] > > > > > HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf > > > > > > > > > > MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLi > > b/UefiMemo > > > ryAllocationLib.inf > > > > > > > > > > DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibCo > > nOut.inf > > > > > + > > > > > > > +[LibraryClasses.IA32.UEFI_DRIVER,LibraryClasses.X64.UEFI > > _DRIVER] > > > > > > > > > > LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxD > > xeLib.in > > > f > > > > > > > > > > [LibraryClasses.common.UEFI_APPLICATION] > > > > > > > > > > > > > With (1) fixed (feel free to correct that just before > > pushing): > > > > > > > > Reviewed-by: Laszlo Ersek <ler...@redhat.com> > > > > > > Thanks! > > > > > > > Do wait for maintainer review, of course. > > > > > > Of course. > > > > > > Per my understanding to the analysis from Leif, Laszlo > > and Mike, the patch will depend on the precedence of the > > below rules: > > > > * [LibraryClasses.common.$(MODULE_TYPE)] > > * [LibraryClasses.$(Arch)] > > > > So for now, we should wait for the final call on the > > above open, right? > > > > Best Regards, > > Hao Wu > > > > > > > > > > Best Regards, > > > > > > Leif -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#46527): https://edk2.groups.io/g/devel/message/46527 Mute This Topic: https://groups.io/mt/33045351/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-