[edk2] [Patch] BaseTools: Fixed the build fail issue for cases

BobCF bob.c.feng at intel.com
Sun Dec 9 05:44:32 PST 2018


https://bugzilla.tianocore.org/show_bug.cgi?id=1386
1. There is no Pcd value assignment in Dsc file
2. There are duplicate Pcd filed assignment

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Bob Feng <bob.c.feng at intel.com>
Cc: Liming Gao <liming.gao at intel.com>
---
 BaseTools/Source/Python/Workspace/BuildClassObject.py | 2 +-
 BaseTools/Source/Python/Workspace/MetaFileParser.py   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/BaseTools/Source/Python/Workspace/BuildClassObject.py b/BaseTools/Source/Python/Workspace/BuildClassObject.py
index 008eee1a16..d02232b546 100644
--- a/BaseTools/Source/Python/Workspace/BuildClassObject.py
+++ b/BaseTools/Source/Python/Workspace/BuildClassObject.py
@@ -289,11 +289,11 @@ class StructurePcd(PcdClassObject):
         if DefaultStoreName not in self.SkuOverrideValues[SkuName]:
             self.SkuOverrideValues[SkuName][DefaultStoreName] = OrderedDict()
         if DimensionAttr not in self.SkuOverrideValues[SkuName][DefaultStoreName]:
             self.SkuOverrideValues[SkuName][DefaultStoreName][DimensionAttr] = collections.OrderedDict()
         if FieldName in self.SkuOverrideValues[SkuName][DefaultStoreName][DimensionAttr]:
-            del self.SkuOverrideValues[SkuName][DefaultStoreName][FieldName][DimensionAttr]
+            del self.SkuOverrideValues[SkuName][DefaultStoreName][DimensionAttr][FieldName]
         self.SkuOverrideValues[SkuName][DefaultStoreName][DimensionAttr][FieldName] = [Value.strip(), FileName, LineNo]
         return self.SkuOverrideValues[SkuName][DefaultStoreName][DimensionAttr][FieldName]
 
     def SetPcdMode (self, PcdMode):
         self.PcdMode = PcdMode
diff --git a/BaseTools/Source/Python/Workspace/MetaFileParser.py b/BaseTools/Source/Python/Workspace/MetaFileParser.py
index 4bd52619a9..eaedba0c12 100644
--- a/BaseTools/Source/Python/Workspace/MetaFileParser.py
+++ b/BaseTools/Source/Python/Workspace/MetaFileParser.py
@@ -1201,11 +1201,11 @@ class DscParser(MetaFileParser):
             else:
                 self._ValueList = None
                 return
         TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT, 1)
         self._CurrentPcdName = TokenList[0]
-        if TokenList[1].strip().startswith("{CODE"):
+        if len(TokenList) == 2 and TokenList[1].strip().startswith("{CODE"):
             self._PcdDataTypeCODE = True
             self._PcdCodeValue = TokenList[1].strip()
 
         if self._PcdDataTypeCODE:
             if self._CurrentLine.endswith(")}"):
-- 
2.18.0.windows.1



More information about the edk2-devel mailing list