Bob: > -----Original Message----- > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Bob Feng > Sent: Sunday, July 21, 2019 11:55 AM > To: devel@edk2.groups.io > Cc: Gao, Liming <liming....@intel.com>; Feng, Bob C <bob.c.f...@intel.com> > Subject: [edk2-devel] [Patch] BaseTools: Fixed the mis-using strip() function > issue. > > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2003 > > lstrip(parameter) do the match based on the char > in parameter but not only the whole parameter string. > > In GenMake line 1082, > CmdSign.lstrip('/Fo') will strip the '/' or > 'F' or 'o' on the left of CmdSign. This is not expected. > > This patch is going to fix such issue. > > Cc: Liming Gao <liming....@intel.com> > Signed-off-by: Bob Feng <bob.c.f...@intel.com> > --- > BaseTools/Source/Python/AutoGen/GenMake.py | 2 +- > BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py | 5 ++++- > 2 files changed, 5 insertions(+), 2 deletions(-) > > diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py > b/BaseTools/Source/Python/AutoGen/GenMake.py > index 212ca0fa7f..10e67f7dbb 100644 > --- a/BaseTools/Source/Python/AutoGen/GenMake.py > +++ b/BaseTools/Source/Python/AutoGen/GenMake.py > @@ -1077,11 +1077,11 @@ cleanlib: > CmdTargetDict[CmdSign] = Item.replace(Temp, CmdSign) > else: > CmdTargetDict[CmdSign] = "%s %s" % > (CmdTargetDict[CmdSign], SingleCommandList[-1]) > Index = CommandList.index(Item) > CommandList.pop(Index) > - if SingleCommandList[-1].endswith("%s%s.c" % (TAB_SLASH, > CmdSumDict[CmdSign.lstrip('/Fo').rsplit(TAB_SLASH, > 1)[0]])): > + if SingleCommandList[-1].endswith("%s%s.c" % (TAB_SLASH, > CmdSumDict[CmdSign[3:].rsplit(TAB_SLASH, 1)[0]])):
What mean CmdSign[3:]? Is it for root directory in Windows OS? Does it support the path in Linux OS? Thanks Liming > Cpplist = CmdCppDict[T.Target.SubDir] > Cpplist.insert(0, '$(OBJLIST_%d): $(COMMON_DEPS)' % > list(self.ObjTargetDict.keys()).index(T.Target.SubDir)) > T.Commands[Index] = '%s\n\t%s' % (' > \\\n\t'.join(Cpplist), CmdTargetDict[CmdSign]) > else: > T.Commands.pop(Index) > diff --git a/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py > b/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py > index c9c476cf61..f43743dff4 100644 > --- a/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py > +++ b/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py > @@ -791,11 +791,14 @@ class GenFdsGlobalVariable: > # > @staticmethod > def GetPcdValue (PcdPattern): > if PcdPattern is None: > return None > - PcdPair = PcdPattern.lstrip('PCD(').rstrip(')').strip().split('.') > + if PcdPattern.startswith('PCD('): > + PcdPair = PcdPattern[4:].rstrip(')').strip().split('.') > + else: > + PcdPair = PcdPattern.strip().split('.') > TokenSpace = PcdPair[0] > TokenCName = PcdPair[1] > > for Arch in GenFdsGlobalVariable.ArchList: > Platform = > GenFdsGlobalVariable.WorkSpace.BuildObject[GenFdsGlobalVariable.ActivePlatform, > Arch, > GenFdsGlobalVariable.TargetName, GenFdsGlobalVariable.ToolChainTag] > -- > 2.18.0.windows.1 > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#44073): https://edk2.groups.io/g/devel/message/44073 Mute This Topic: https://groups.io/mt/32544627/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-