This is the PR: https://github.com/tianocore/edk2/pull/2444

 

From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Abner Chang
Sent: Thursday, January 27, 2022 11:46 AM
To: Xu, Min M <min.m.xu@intel.com>; devel@edk2.groups.io
Cc: Leif Lindholm <leif@nuviainc.com>; Ard Biesheuvel <ardb+tianocore@kernel.org>; Schaefer, Daniel <daniel.schaefer@hpe.com>
Subject: Re: [edk2-devel] [PATCH 1/1] EmbeddedPkg: Fix a build error in FwVol.c in X64 arch

 

Reviewed-by: Abner Chang <abner.chang@hpe.com>

 

Please create a PR (give me the link) for running Core CI, I will merge it once it gets passed through.

 

Thanks

Abner


From: Min Xu <min.m.xu@intel.com>
Sent: Thursday, January 27, 2022 11:36 AM
To: devel@edk2.groups.io <devel@edk2.groups.io>
Cc: Min Xu <min.m.xu@intel.com>; Leif Lindholm <leif@nuviainc.com>; Ard Biesheuvel <ardb+tianocore@kernel.org>; Chang, Abner (HPS SW/FW Technologist) <abner.chang@hpe.com>; Schaefer, Daniel (ROM Janitor) <daniel.schaefer@hpe.com>
Subject: [PATCH 1/1] EmbeddedPkg: Fix a build error in FwVol.c in X64 arch

 

BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3814

CompressedDataLength is declared as UINTN which is UINT64 in X64 arch.
But the second parameter of UefiDecompressGetInfo() is declared as
UINT32. So a build error is triggered. To declare CompressedDataLength
as UINT32 to fix the build error.

Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Abner Chang <abner.chang@hpe.com>
Cc: Daniel Schaefer <daniel.schaefer@hpe.com>
Signed-off-by: Min Xu <min.m.xu@intel.com>
---
 EmbeddedPkg/Library/PrePiLib/FwVol.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/EmbeddedPkg/Library/PrePiLib/FwVol.c b/EmbeddedPkg/Library/PrePiLib/FwVol.c
index 92ae68f0d382..0a6d6925b7ea 100644
--- a/EmbeddedPkg/Library/PrePiLib/FwVol.c
+++ b/EmbeddedPkg/Library/PrePiLib/FwVol.c
@@ -291,7 +291,7 @@ FfsProcessSection (
   UINT16                    SectionAttribute;
   UINT32                    AuthenticationStatus;
   CHAR8                     *CompressedData;
-  UINTN                     CompressedDataLength;
+  UINT32                    CompressedDataLength;
 
   *OutputBuffer = NULL;
   ParsedLength  = 0;
@@ -320,7 +320,7 @@ FfsProcessSection (
           }
 
           CompressedData       = (CHAR8 *)((EFI_COMPRESSION_SECTION2 *)Section + 1);
-          CompressedDataLength = (UINT32)SectionLength - sizeof (EFI_COMPRESSION_SECTION2);
+          CompressedDataLength = SectionLength - sizeof (EFI_COMPRESSION_SECTION2);
         } else {
           CompressionSection = (EFI_COMPRESSION_SECTION *)Section;
           SectionLength      = SECTION_SIZE (Section);
@@ -330,7 +330,7 @@ FfsProcessSection (
           }
 
           CompressedData       = (CHAR8 *)((EFI_COMPRESSION_SECTION *)Section + 1);
-          CompressedDataLength = (UINT32)SectionLength - sizeof (EFI_COMPRESSION_SECTION);
+          CompressedDataLength = SectionLength - sizeof (EFI_COMPRESSION_SECTION);
         }
 
         Status = UefiDecompressGetInfo (
--
2.29.2.windows.2