summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2012-05-23 08:27:14 +0000
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2012-05-23 08:27:14 +0000
commit25918452ed5e9d12ea56b3bb2193df9ab96666b1 (patch)
tree6565b567d47cbf90c95d1bba67982958d689a0f0
parent74dee93181ad4914e9a708494e2056f1b3c4776f (diff)
downloadedk2-25918452ed5e9d12ea56b3bb2193df9ab96666b1.tar.gz
edk2-25918452ed5e9d12ea56b3bb2193df9ab96666b1.tar.bz2
edk2-25918452ed5e9d12ea56b3bb2193df9ab96666b1.zip
Sync BaseTools Trunk (version r2524) to EDKII main trunk.
Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Liu Yingke <yingke.d.liu@intel.com> Reviewed-by: Yurui Zeng <yurui.zeng@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13353 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--BaseTools/Bin/Win32/BPDG.exebin579301 -> 579317 bytes
-rwxr-xr-xBaseTools/Bin/Win32/BootSectImage.exebin434176 -> 420864 bytes
-rwxr-xr-xBaseTools/Bin/Win32/EfiLdrImage.exebin421888 -> 408064 bytes
-rwxr-xr-xBaseTools/Bin/Win32/EfiRom.exebin446464 -> 431616 bytes
-rwxr-xr-xBaseTools/Bin/Win32/GenBootSector.exebin425984 -> 409088 bytes
-rwxr-xr-xBaseTools/Bin/Win32/GenCrc32.exebin425984 -> 410624 bytes
-rwxr-xr-xBaseTools/Bin/Win32/GenDepex.exebin637892 -> 637892 bytes
-rwxr-xr-xBaseTools/Bin/Win32/GenFds.exebin1650976 -> 1651736 bytes
-rwxr-xr-xBaseTools/Bin/Win32/GenFfs.exebin430080 -> 418816 bytes
-rwxr-xr-xBaseTools/Bin/Win32/GenFv.exebin479232 -> 463872 bytes
-rwxr-xr-xBaseTools/Bin/Win32/GenFw.exebin495616 -> 479232 bytes
-rwxr-xr-xBaseTools/Bin/Win32/GenPage.exebin421888 -> 409600 bytes
-rwxr-xr-xBaseTools/Bin/Win32/GenPatchPcdTable.exebin631896 -> 631896 bytes
-rwxr-xr-xBaseTools/Bin/Win32/GenSec.exebin446464 -> 434688 bytes
-rwxr-xr-xBaseTools/Bin/Win32/GenVtf.exebin446464 -> 432640 bytes
-rwxr-xr-xBaseTools/Bin/Win32/LzmaCompress.exebin397312 -> 389632 bytes
-rwxr-xr-xBaseTools/Bin/Win32/PatchPcdValue.exebin563443 -> 563443 bytes
-rwxr-xr-xBaseTools/Bin/Win32/Split.exebin425984 -> 412672 bytes
-rwxr-xr-xBaseTools/Bin/Win32/TargetTool.exebin585454 -> 585454 bytes
-rwxr-xr-xBaseTools/Bin/Win32/TianoCompress.exebin434176 -> 422912 bytes
-rwxr-xr-xBaseTools/Bin/Win32/Trim.exebin843332 -> 843332 bytes
-rw-r--r--BaseTools/Bin/Win32/UPT.exebin2331295 -> 2331295 bytes
-rwxr-xr-xBaseTools/Bin/Win32/VfrCompile.exebin1277952 -> 1263104 bytes
-rwxr-xr-xBaseTools/Bin/Win32/VolInfo.exebin471040 -> 459264 bytes
-rwxr-xr-xBaseTools/Bin/Win32/build.exebin3073401 -> 3074254 bytes
-rw-r--r--BaseTools/Conf/tools_def.template6
-rw-r--r--BaseTools/Source/C/GenSec/GenSec.c10
-rw-r--r--BaseTools/Source/C/Include/Common/BuildVersion.h2
-rw-r--r--BaseTools/Source/Python/AutoGen/AutoGen.py6
-rw-r--r--BaseTools/Source/Python/BPDG/GenVpd.py2
-rw-r--r--BaseTools/Source/Python/Common/BuildVersion.py2
-rw-r--r--BaseTools/Source/Python/Common/Expression.py9
-rw-r--r--BaseTools/Source/Python/CommonDataClass/FdfClass.py1
-rw-r--r--BaseTools/Source/Python/GenFds/FdfParser.py29
-rw-r--r--BaseTools/Source/Python/GenFds/GuidSection.py7
-rw-r--r--BaseTools/Source/Python/UPT/BuildVersion.py2
-rw-r--r--BaseTools/Source/Python/Workspace/WorkspaceDatabase.py15
-rw-r--r--BaseTools/Source/Python/build/BuildReport.py11
38 files changed, 63 insertions, 39 deletions
diff --git a/BaseTools/Bin/Win32/BPDG.exe b/BaseTools/Bin/Win32/BPDG.exe
index 0950a85a06..9f38762084 100644
--- a/BaseTools/Bin/Win32/BPDG.exe
+++ b/BaseTools/Bin/Win32/BPDG.exe
Binary files differ
diff --git a/BaseTools/Bin/Win32/BootSectImage.exe b/BaseTools/Bin/Win32/BootSectImage.exe
index 77c2ca6f0c..72bb94f3cc 100755
--- a/BaseTools/Bin/Win32/BootSectImage.exe
+++ b/BaseTools/Bin/Win32/BootSectImage.exe
Binary files differ
diff --git a/BaseTools/Bin/Win32/EfiLdrImage.exe b/BaseTools/Bin/Win32/EfiLdrImage.exe
index 0014483a35..f4a0ef8f9f 100755
--- a/BaseTools/Bin/Win32/EfiLdrImage.exe
+++ b/BaseTools/Bin/Win32/EfiLdrImage.exe
Binary files differ
diff --git a/BaseTools/Bin/Win32/EfiRom.exe b/BaseTools/Bin/Win32/EfiRom.exe
index 34c01a7292..86ec6bb4cf 100755
--- a/BaseTools/Bin/Win32/EfiRom.exe
+++ b/BaseTools/Bin/Win32/EfiRom.exe
Binary files differ
diff --git a/BaseTools/Bin/Win32/GenBootSector.exe b/BaseTools/Bin/Win32/GenBootSector.exe
index e8315a3fe7..2b8ebe60e2 100755
--- a/BaseTools/Bin/Win32/GenBootSector.exe
+++ b/BaseTools/Bin/Win32/GenBootSector.exe
Binary files differ
diff --git a/BaseTools/Bin/Win32/GenCrc32.exe b/BaseTools/Bin/Win32/GenCrc32.exe
index 7874a65e47..14b0677c9e 100755
--- a/BaseTools/Bin/Win32/GenCrc32.exe
+++ b/BaseTools/Bin/Win32/GenCrc32.exe
Binary files differ
diff --git a/BaseTools/Bin/Win32/GenDepex.exe b/BaseTools/Bin/Win32/GenDepex.exe
index 3e477a2788..d4d56965e8 100755
--- a/BaseTools/Bin/Win32/GenDepex.exe
+++ b/BaseTools/Bin/Win32/GenDepex.exe
Binary files differ
diff --git a/BaseTools/Bin/Win32/GenFds.exe b/BaseTools/Bin/Win32/GenFds.exe
index be4fccacfb..88b88d63be 100755
--- a/BaseTools/Bin/Win32/GenFds.exe
+++ b/BaseTools/Bin/Win32/GenFds.exe
Binary files differ
diff --git a/BaseTools/Bin/Win32/GenFfs.exe b/BaseTools/Bin/Win32/GenFfs.exe
index f237967923..7d33a46a1b 100755
--- a/BaseTools/Bin/Win32/GenFfs.exe
+++ b/BaseTools/Bin/Win32/GenFfs.exe
Binary files differ
diff --git a/BaseTools/Bin/Win32/GenFv.exe b/BaseTools/Bin/Win32/GenFv.exe
index 46231ff9f3..633cac7028 100755
--- a/BaseTools/Bin/Win32/GenFv.exe
+++ b/BaseTools/Bin/Win32/GenFv.exe
Binary files differ
diff --git a/BaseTools/Bin/Win32/GenFw.exe b/BaseTools/Bin/Win32/GenFw.exe
index 353a2f4447..2b1fd01f9c 100755
--- a/BaseTools/Bin/Win32/GenFw.exe
+++ b/BaseTools/Bin/Win32/GenFw.exe
Binary files differ
diff --git a/BaseTools/Bin/Win32/GenPage.exe b/BaseTools/Bin/Win32/GenPage.exe
index 40c491062c..3449ba5457 100755
--- a/BaseTools/Bin/Win32/GenPage.exe
+++ b/BaseTools/Bin/Win32/GenPage.exe
Binary files differ
diff --git a/BaseTools/Bin/Win32/GenPatchPcdTable.exe b/BaseTools/Bin/Win32/GenPatchPcdTable.exe
index 1b84df80de..512134c08d 100755
--- a/BaseTools/Bin/Win32/GenPatchPcdTable.exe
+++ b/BaseTools/Bin/Win32/GenPatchPcdTable.exe
Binary files differ
diff --git a/BaseTools/Bin/Win32/GenSec.exe b/BaseTools/Bin/Win32/GenSec.exe
index c4b92a47c7..40fbe7ab02 100755
--- a/BaseTools/Bin/Win32/GenSec.exe
+++ b/BaseTools/Bin/Win32/GenSec.exe
Binary files differ
diff --git a/BaseTools/Bin/Win32/GenVtf.exe b/BaseTools/Bin/Win32/GenVtf.exe
index 1bef934cfa..1448486c89 100755
--- a/BaseTools/Bin/Win32/GenVtf.exe
+++ b/BaseTools/Bin/Win32/GenVtf.exe
Binary files differ
diff --git a/BaseTools/Bin/Win32/LzmaCompress.exe b/BaseTools/Bin/Win32/LzmaCompress.exe
index 82780efc77..c5b07a40ca 100755
--- a/BaseTools/Bin/Win32/LzmaCompress.exe
+++ b/BaseTools/Bin/Win32/LzmaCompress.exe
Binary files differ
diff --git a/BaseTools/Bin/Win32/PatchPcdValue.exe b/BaseTools/Bin/Win32/PatchPcdValue.exe
index 328651d7db..d77b67a779 100755
--- a/BaseTools/Bin/Win32/PatchPcdValue.exe
+++ b/BaseTools/Bin/Win32/PatchPcdValue.exe
Binary files differ
diff --git a/BaseTools/Bin/Win32/Split.exe b/BaseTools/Bin/Win32/Split.exe
index f5907b04cf..e50d48dfdf 100755
--- a/BaseTools/Bin/Win32/Split.exe
+++ b/BaseTools/Bin/Win32/Split.exe
Binary files differ
diff --git a/BaseTools/Bin/Win32/TargetTool.exe b/BaseTools/Bin/Win32/TargetTool.exe
index 0170468cfb..f5eeef9281 100755
--- a/BaseTools/Bin/Win32/TargetTool.exe
+++ b/BaseTools/Bin/Win32/TargetTool.exe
Binary files differ
diff --git a/BaseTools/Bin/Win32/TianoCompress.exe b/BaseTools/Bin/Win32/TianoCompress.exe
index 2570682261..da6b82cfa2 100755
--- a/BaseTools/Bin/Win32/TianoCompress.exe
+++ b/BaseTools/Bin/Win32/TianoCompress.exe
Binary files differ
diff --git a/BaseTools/Bin/Win32/Trim.exe b/BaseTools/Bin/Win32/Trim.exe
index 8a3cfb7f96..418818b1b6 100755
--- a/BaseTools/Bin/Win32/Trim.exe
+++ b/BaseTools/Bin/Win32/Trim.exe
Binary files differ
diff --git a/BaseTools/Bin/Win32/UPT.exe b/BaseTools/Bin/Win32/UPT.exe
index 7939ee97d2..03d6679fe3 100644
--- a/BaseTools/Bin/Win32/UPT.exe
+++ b/BaseTools/Bin/Win32/UPT.exe
Binary files differ
diff --git a/BaseTools/Bin/Win32/VfrCompile.exe b/BaseTools/Bin/Win32/VfrCompile.exe
index dd7431b741..91681d800e 100755
--- a/BaseTools/Bin/Win32/VfrCompile.exe
+++ b/BaseTools/Bin/Win32/VfrCompile.exe
Binary files differ
diff --git a/BaseTools/Bin/Win32/VolInfo.exe b/BaseTools/Bin/Win32/VolInfo.exe
index fa7168f8ed..9655614239 100755
--- a/BaseTools/Bin/Win32/VolInfo.exe
+++ b/BaseTools/Bin/Win32/VolInfo.exe
Binary files differ
diff --git a/BaseTools/Bin/Win32/build.exe b/BaseTools/Bin/Win32/build.exe
index 01ee7a810d..fc43d62866 100755
--- a/BaseTools/Bin/Win32/build.exe
+++ b/BaseTools/Bin/Win32/build.exe
Binary files differ
diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 738cd65052..a82404a144 100644
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -4506,12 +4506,12 @@ RELEASE_XCODE32_IA32_CC_FLAGS = -arch i386 -Oz -combine -mms-bitfields -fshor
# X64 definitions - still a work in progress. This tool chain does not produce
# the correct ABI, it is just used to compile the code....
##################
-*_XCODE32_X64_CC_PATH = gcc-4.2
+*_XCODE32_X64_CC_PATH = gcc
*_XCODE32_X64_SLINK_PATH = libtool
*_XCODE32_X64_DLINK_PATH = ld
*_XCODE32_X64_ASM_PATH = as
-*_XCODE32_X64_PP_PATH = gcc-4.2
-*_XCODE32_X64_VFRPP_PATH = gcc-4.2
+*_XCODE32_X64_PP_PATH = gcc
+*_XCODE32_X64_VFRPP_PATH = gcc
*_XCODE32_X64_ASL_PATH = iasl
*_XCODE32_X64_ASLCC_PATH = gcc
*_XCODE32_X64_ASLPP_PATH = gcc
diff --git a/BaseTools/Source/C/GenSec/GenSec.c b/BaseTools/Source/C/GenSec/GenSec.c
index 79e8e1bebb..d6b22aee86 100644
--- a/BaseTools/Source/C/GenSec/GenSec.c
+++ b/BaseTools/Source/C/GenSec/GenSec.c
@@ -785,7 +785,7 @@ Returns:
Offset = 0;
FileBuffer = NULL;
- if (CompareGuid (VendorGuid, &mEfiCrc32SectionGuid) == 0) {
+ if (CompareGuid (VendorGuid, &mZeroGuid) == 0) {
Offset = sizeof (CRC32_SECTION_HEADER);
} else {
Offset = sizeof (EFI_GUID_DEFINED_SECTION);
@@ -837,7 +837,7 @@ Returns:
//
// Now data is in FileBuffer + Offset
//
- if (CompareGuid (VendorGuid, &mEfiCrc32SectionGuid) == 0) {
+ if (CompareGuid (VendorGuid, &mZeroGuid) == 0) {
//
// Default Guid section is CRC32.
//
@@ -1222,10 +1222,6 @@ Returns:
VerboseMsg ("Compress method is %s", mCompressionTypeName [SectCompSubType]);
} else if (stricmp (SectionName, mSectionTypeName[EFI_SECTION_GUID_DEFINED]) == 0) {
SectType = EFI_SECTION_GUID_DEFINED;
-
- if (CompareGuid (&VendorGuid, &mZeroGuid) == 0) {
- memcpy (&VendorGuid, &mEfiCrc32SectionGuid, sizeof (EFI_GUID));
- }
if ((SectGuidAttribute & EFI_GUIDED_SECTION_NONE) != 0) {
//
@@ -1349,7 +1345,7 @@ Returns:
break;
case EFI_SECTION_GUID_DEFINED:
- if (InputFileAlign != NULL && (CompareGuid (&VendorGuid, &mEfiCrc32SectionGuid) != 0)) {
+ if (InputFileAlign != NULL && (CompareGuid (&VendorGuid, &mZeroGuid) != 0)) {
//
// Only process alignment for the default known CRC32 guided section.
// For the unknown guided section, the alignment is processed when the dummy all section (EFI_SECTION_ALL) is generated.
diff --git a/BaseTools/Source/C/Include/Common/BuildVersion.h b/BaseTools/Source/C/Include/Common/BuildVersion.h
index f9144e5f01..5b50a5c28e 100644
--- a/BaseTools/Source/C/Include/Common/BuildVersion.h
+++ b/BaseTools/Source/C/Include/Common/BuildVersion.h
@@ -14,4 +14,4 @@
**/
-#define __BUILD_VERSION "Build 2518"
+#define __BUILD_VERSION "Build 2524"
diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py b/BaseTools/Source/Python/AutoGen/AutoGen.py
index 2f38c6afd5..3261892bc5 100644
--- a/BaseTools/Source/Python/AutoGen/AutoGen.py
+++ b/BaseTools/Source/Python/AutoGen/AutoGen.py
@@ -292,12 +292,12 @@ class WorkspaceAutoGen(AutoGen):
for Arch in self.ArchList:
Platform = self.BuildDatabase[self.MetaFile, Arch, Target, Toolchain]
- DecPcds = set()
+ DecPcds = {}
PGen = PlatformAutoGen(self, self.MetaFile, Target, Toolchain, Arch)
Pkgs = PGen.PackageList
for Pkg in Pkgs:
- for Pcd in Pkg.Pcds.keys():
- DecPcds.add((Pcd[0], Pcd[1]))
+ for Pcd in Pkg.Pcds:
+ DecPcds[Pcd[0], Pcd[1]] = Pkg.Pcds[Pcd]
Platform.IsPlatformPcdDeclared(DecPcds)
Platform.SkuName = self.SkuId
diff --git a/BaseTools/Source/Python/BPDG/GenVpd.py b/BaseTools/Source/Python/BPDG/GenVpd.py
index bbe44eefa4..cc4985062e 100644
--- a/BaseTools/Source/Python/BPDG/GenVpd.py
+++ b/BaseTools/Source/Python/BPDG/GenVpd.py
@@ -226,7 +226,7 @@ class PcdEntry:
for Index in xrange(len(ValueList)):
Value = None
- if ValueList[Index].startswith('0x'):
+ if ValueList[Index].lower().startswith('0x'):
# translate hex value
try:
Value = int(ValueList[Index], 16)
diff --git a/BaseTools/Source/Python/Common/BuildVersion.py b/BaseTools/Source/Python/Common/BuildVersion.py
index c5dae6daa4..0323fafa3c 100644
--- a/BaseTools/Source/Python/Common/BuildVersion.py
+++ b/BaseTools/Source/Python/Common/BuildVersion.py
@@ -13,4 +13,4 @@
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
-gBUILD_VERSION = "Build 2518"
+gBUILD_VERSION = "Build 2524"
diff --git a/BaseTools/Source/Python/Common/Expression.py b/BaseTools/Source/Python/Common/Expression.py
index a4853b78a4..80fad7563d 100644
--- a/BaseTools/Source/Python/Common/Expression.py
+++ b/BaseTools/Source/Python/Common/Expression.py
@@ -256,9 +256,12 @@ class ValueExpression(object):
if self.__IsNumberToken():
return self._Expr
- Token = self._GetToken()
- if type(Token) == type('') and Token.startswith('{') and Token.endswith('}') and self._Idx >= self._Len:
- return self._Expr
+ try:
+ Token = self._GetToken()
+ if type(Token) == type('') and Token.startswith('{') and Token.endswith('}') and self._Idx >= self._Len:
+ return self._Expr
+ except BadExpression:
+ pass
self._Idx = 0
self._Token = ''
diff --git a/BaseTools/Source/Python/CommonDataClass/FdfClass.py b/BaseTools/Source/Python/CommonDataClass/FdfClass.py
index a459cad8ba..996468d6aa 100644
--- a/BaseTools/Source/Python/CommonDataClass/FdfClass.py
+++ b/BaseTools/Source/Python/CommonDataClass/FdfClass.py
@@ -249,6 +249,7 @@ class GuidSectionClassObject (SectionClassObject) :
self.SectionType = None
self.ProcessRequired = False
self.AuthStatusValid = False
+ self.ExtraHeaderSize = -1
self.FvAddr = []
self.FvParentAddr = None
self.IncludeFvSection = False
diff --git a/BaseTools/Source/Python/GenFds/FdfParser.py b/BaseTools/Source/Python/GenFds/FdfParser.py
index dc5c4fa034..c9c620d853 100644
--- a/BaseTools/Source/Python/GenFds/FdfParser.py
+++ b/BaseTools/Source/Python/GenFds/FdfParser.py
@@ -2867,6 +2867,7 @@ class FdfParser:
GuidSectionObj.SectionType = "GUIDED"
GuidSectionObj.ProcessRequired = AttribDict["PROCESSING_REQUIRED"]
GuidSectionObj.AuthStatusValid = AttribDict["AUTH_STATUS_VALID"]
+ GuidSectionObj.ExtraHeaderSize = AttribDict["EXTRA_HEADER_SIZE"]
# Recursive sections...
while True:
IsLeafSection = self.__GetLeafSection(GuidSectionObj)
@@ -2894,23 +2895,26 @@ class FdfParser:
AttribDict = {}
AttribDict["PROCESSING_REQUIRED"] = "NONE"
AttribDict["AUTH_STATUS_VALID"] = "NONE"
- if self.__IsKeyword("PROCESSING_REQUIRED") or self.__IsKeyword("AUTH_STATUS_VALID"):
+ AttribDict["EXTRA_HEADER_SIZE"] = -1
+ while self.__IsKeyword("PROCESSING_REQUIRED") or self.__IsKeyword("AUTH_STATUS_VALID") \
+ or self.__IsKeyword("EXTRA_HEADER_SIZE"):
AttribKey = self.__Token
if not self.__IsToken("="):
raise Warning("expected '='", self.FileName, self.CurrentLineNumber)
- if not self.__GetNextToken() or self.__Token.upper() not in ("TRUE", "FALSE", "1", "0"):
- raise Warning("expected TRUE/FALSE (1/0)", self.FileName, self.CurrentLineNumber)
- AttribDict[AttribKey] = self.__Token
-
- if self.__IsKeyword("PROCESSING_REQUIRED") or self.__IsKeyword("AUTH_STATUS_VALID"):
- AttribKey = self.__Token
-
- if not self.__IsToken("="):
- raise Warning("expected '='")
-
- if not self.__GetNextToken() or self.__Token.upper() not in ("TRUE", "FALSE", "1", "0"):
+ if not self.__GetNextToken():
+ raise Warning("expected TRUE(1)/FALSE(0)/Number", self.FileName, self.CurrentLineNumber)
+ elif AttribKey == "EXTRA_HEADER_SIZE":
+ Base = 10
+ if self.__Token[0:2].upper() == "0X":
+ Base = 16
+ try:
+ AttribDict[AttribKey] = int(self.__Token, Base)
+ continue
+ except ValueError:
+ raise Warning("expected Number", self.FileName, self.CurrentLineNumber)
+ elif self.__Token.upper() not in ("TRUE", "FALSE", "1", "0"):
raise Warning("expected TRUE/FALSE (1/0)", self.FileName, self.CurrentLineNumber)
AttribDict[AttribKey] = self.__Token
@@ -3712,6 +3716,7 @@ class FdfParser:
GuidSectionObj.SectionType = "GUIDED"
GuidSectionObj.ProcessRequired = AttribDict["PROCESSING_REQUIRED"]
GuidSectionObj.AuthStatusValid = AttribDict["AUTH_STATUS_VALID"]
+ GuidSectionObj.ExtraHeaderSize = AttribDict["EXTRA_HEADER_SIZE"]
# Efi sections...
while True:
diff --git a/BaseTools/Source/Python/GenFds/GuidSection.py b/BaseTools/Source/Python/GenFds/GuidSection.py
index bd95f56720..36ad4f58ef 100644
--- a/BaseTools/Source/Python/GenFds/GuidSection.py
+++ b/BaseTools/Source/Python/GenFds/GuidSection.py
@@ -193,7 +193,10 @@ class GuidSection(GuidSectionClassObject) :
Attribute = []
HeaderLength = None
- if self.ProcessRequired == "NONE":
+ if self.ExtraHeaderSize != -1:
+ HeaderLength = str(self.ExtraHeaderSize)
+
+ if self.ProcessRequired == "NONE" and HeaderLength == None:
if TempFileSize > InputFileSize and TempFileSize % 4 == 0:
FileHandleIn.seek(0)
BufferIn = FileHandleIn.read()
@@ -218,7 +221,7 @@ class GuidSection(GuidSectionClassObject) :
if self.ProcessRequired in ("TRUE", "1"):
if 'PROCESSING_REQUIRED' not in Attribute:
Attribute.append('PROCESSING_REQUIRED')
- HeaderLength = None
+
if self.AuthStatusValid in ("TRUE", "1"):
Attribute.append('AUTH_STATUS_VALID')
GenFdsGlobalVariable.GenerateSection(OutputFile, [TempFile], Section.Section.SectionType['GUIDED'],
diff --git a/BaseTools/Source/Python/UPT/BuildVersion.py b/BaseTools/Source/Python/UPT/BuildVersion.py
index 1510430fe5..e2dca6130f 100644
--- a/BaseTools/Source/Python/UPT/BuildVersion.py
+++ b/BaseTools/Source/Python/UPT/BuildVersion.py
@@ -17,4 +17,4 @@
Build version information
'''
-gBUILD_VERSION = "Build 2518"
+gBUILD_VERSION = "Build 2524"
diff --git a/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py b/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
index 16766d32dc..e5fb41a8e0 100644
--- a/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
+++ b/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
@@ -852,6 +852,21 @@ class DscBuildData(PlatformBuildClassObject):
EdkLogger.error('build', PARSER_ERROR,
"Pcd (%s.%s) defined in DSC is not declared in DEC files." % (TokenSpaceGuid, PcdCName),
File=self.MetaFile, Line=Dummy4)
+ PcdValue = ''
+ if PcdType in (MODEL_PCD_DYNAMIC_VPD, MODEL_PCD_DYNAMIC_EX_VPD):
+ if DecPcds[PcdCName, TokenSpaceGuid].DatumType == "VOID*":
+ PcdValue = AnalyzeVpdPcdData(Setting)[2]
+ else:
+ PcdValue = AnalyzeVpdPcdData(Setting)[1]
+ elif PcdType in (MODEL_PCD_DYNAMIC_HII, MODEL_PCD_DYNAMIC_EX_HII):
+ PcdValue = AnalyzeHiiPcdData(Setting)[3]
+ else:
+ PcdValue = AnalyzePcdData(Setting)[0]
+ if PcdValue:
+ Valid, ErrStr = CheckPcdDatum(DecPcds[PcdCName, TokenSpaceGuid].DatumType, PcdValue)
+ if not Valid:
+ EdkLogger.error('build', FORMAT_INVALID, ErrStr, File=self.MetaFile, Line=Dummy4,
+ ExtraData="%s.%s" % (TokenSpaceGuid, PcdCName))
_Macros = property(_GetMacros)
Arch = property(_GetArch, _SetArch)
diff --git a/BaseTools/Source/Python/build/BuildReport.py b/BaseTools/Source/Python/build/BuildReport.py
index e20131a312..d5ea3bd3e5 100644
--- a/BaseTools/Source/Python/build/BuildReport.py
+++ b/BaseTools/Source/Python/build/BuildReport.py
@@ -39,6 +39,7 @@ from Common.DataType import TAB_SLASH
from Common.DataType import TAB_SPACE_SPLIT
from Common.DataType import TAB_BRG_PCD
from Common.DataType import TAB_BRG_LIBRARY
+from Common.DataType import TAB_BACK_SLASH
## Pattern to extract contents in EDK DXS files
gDxsDependencyPattern = re.compile(r"DEPENDENCY_START(.+)DEPENDENCY_END", re.DOTALL)
@@ -191,11 +192,11 @@ def FileLinesSplit(Content=None, MaxLength=None):
while len(Line.rstrip()) > MaxLength:
LineSpaceIndex = Line.rfind(TAB_SPACE_SPLIT, 0, MaxLength)
LineSlashIndex = Line.rfind(TAB_SLASH, 0, MaxLength)
- LineBreakIndex = MaxLength
- if LineSpaceIndex > LineSlashIndex:
- LineBreakIndex = LineSpaceIndex
- elif LineSlashIndex > LineSpaceIndex:
- LineBreakIndex = LineSlashIndex
+ LineBackSlashIndex = Line.rfind(TAB_BACK_SLASH, 0, MaxLength)
+ if max(LineSpaceIndex, LineSlashIndex, LineBackSlashIndex) > 0:
+ LineBreakIndex = max(LineSpaceIndex, LineSlashIndex, LineBackSlashIndex)
+ else:
+ LineBreakIndex = MaxLength
NewContentList.append(Line[:LineBreakIndex])
Line = Line[LineBreakIndex:]
if Line: