Current check only compared string format of toke value.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yingke Liu <[email protected]>
---
BaseTools/Source/Python/AutoGen/AutoGen.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py
b/BaseTools/Source/Python/AutoGen/AutoGen.py
index ca7d5ab..7fb1a88 100644
--- a/BaseTools/Source/Python/AutoGen/AutoGen.py
+++ b/BaseTools/Source/Python/AutoGen/AutoGen.py
@@ -651,7 +651,7 @@ class WorkspaceAutoGen(AutoGen):
for Pa in self.AutoGenObjectList:
for Package in Pa.PackageList:
PcdList = Package.Pcds.values()
- PcdList.sort(lambda x, y: cmp(x.TokenValue, y.TokenValue))
+ PcdList.sort(lambda x, y: cmp(int(x.TokenValue, 0),
int(y.TokenValue, 0)))
Count = 0
while (Count < len(PcdList) - 1) :
Item = PcdList[Count]
@@ -659,13 +659,13 @@ class WorkspaceAutoGen(AutoGen):
#
# Make sure in the same token space the TokenValue should
be unique
#
- if (Item.TokenValue == ItemNext.TokenValue):
+ if (int(Item.TokenValue, 0) == int(ItemNext.TokenValue,
0)):
SameTokenValuePcdList = []
SameTokenValuePcdList.append(Item)
SameTokenValuePcdList.append(ItemNext)
RemainPcdListLength = len(PcdList) - Count - 2
for ValueSameCount in range(RemainPcdListLength):
- if PcdList[len(PcdList) - RemainPcdListLength +
ValueSameCount].TokenValue == Item.TokenValue:
+ if int(PcdList[len(PcdList) - RemainPcdListLength
+ ValueSameCount].TokenValue, 0) == int(Item.TokenValue, 0):
SameTokenValuePcdList.append(PcdList[len(PcdList) - RemainPcdListLength +
ValueSameCount])
else:
break;
@@ -699,7 +699,7 @@ class WorkspaceAutoGen(AutoGen):
#
# Check PCDs with same TokenSpaceGuidCName.TokenCName have
same token value as well.
#
- if (Item.TokenSpaceGuidCName ==
ItemNext.TokenSpaceGuidCName) and (Item.TokenCName == ItemNext.TokenCName) and
(Item.TokenValue != ItemNext.TokenValue):
+ if (Item.TokenSpaceGuidCName ==
ItemNext.TokenSpaceGuidCName) and (Item.TokenCName == ItemNext.TokenCName) and
(int(Item.TokenValue, 0) != int(ItemNext.TokenValue, 0)):
EdkLogger.error(
'build',
FORMAT_INVALID,
--
1.9.5.msysgit.0
------------------------------------------------------------------------------
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors
network devices and physical & virtual servers, alerts via email & sms
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel