* [Patch] BaseTools: Fix the regression issue caused by commit dc4c77
@ 2017-02-22 16:03 Yonghong Zhu
2017-02-22 16:08 ` Ard Biesheuvel
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Yonghong Zhu @ 2017-02-22 16:03 UTC (permalink / raw)
To: edk2-devel; +Cc: Liming Gao
In the last commit dc4c77, the _GetHeaderInfo will be called more than
once, which cause the self._ConstructorList.append(Value) append some
duplicate value.
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
---
BaseTools/Source/Python/Workspace/WorkspaceDatabase.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py b/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
index 0686721..c1af5c7 100644
--- a/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
+++ b/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
@@ -1828,12 +1828,10 @@ class InfBuildData(ModuleBuildClassObject):
self.__Macros = {}
# EDK_GLOBAL defined macros can be applied to EDK module
if self.AutoGenVersion < 0x00010005:
self.__Macros.update(GlobalData.gEdkGlobal)
self.__Macros.update(GlobalData.gGlobalDefines)
- else:
- self.__Macros.update(self.Defines)
return self.__Macros
## Get architecture
def _GetArch(self):
return self._Arch
@@ -1894,10 +1892,11 @@ class InfBuildData(ModuleBuildClassObject):
if Name in self:
self[Name] = Value
if self._Defs == None:
self._Defs = sdict()
self._Defs[Name] = Value
+ self._Macros[Name] = Value
# some special items in [Defines] section need special treatment
elif Name in ('EFI_SPECIFICATION_VERSION', 'UEFI_SPECIFICATION_VERSION', 'EDK_RELEASE_VERSION', 'PI_SPECIFICATION_VERSION'):
if Name in ('EFI_SPECIFICATION_VERSION', 'UEFI_SPECIFICATION_VERSION'):
Name = 'UEFI_SPECIFICATION_VERSION'
if self._Specification == None:
@@ -1954,10 +1953,11 @@ class InfBuildData(ModuleBuildClassObject):
self._CustomMakefile[TokenList[0]] = TokenList[1]
else:
if self._Defs == None:
self._Defs = sdict()
self._Defs[Name] = Value
+ self._Macros[Name] = Value
#
# Retrieve information in sections specific to Edk.x modules
#
if self.AutoGenVersion >= 0x00010005:
--
2.6.1.windows.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Patch] BaseTools: Fix the regression issue caused by commit dc4c77
2017-02-22 16:03 [Patch] BaseTools: Fix the regression issue caused by commit dc4c77 Yonghong Zhu
@ 2017-02-22 16:08 ` Ard Biesheuvel
2017-02-23 3:22 ` Gao, Liming
2017-02-23 10:56 ` Laszlo Ersek
2 siblings, 0 replies; 4+ messages in thread
From: Ard Biesheuvel @ 2017-02-22 16:08 UTC (permalink / raw)
To: Yonghong Zhu; +Cc: edk2-devel@lists.01.org, Liming Gao
On 22 February 2017 at 16:03, Yonghong Zhu <yonghong.zhu@intel.com> wrote:
> In the last commit dc4c77, the _GetHeaderInfo will be called more than
> once, which cause the self._ConstructorList.append(Value) append some
> duplicate value.
>
> Cc: Liming Gao <liming.gao@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
Works for me, thanks
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> ---
> BaseTools/Source/Python/Workspace/WorkspaceDatabase.py | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py b/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
> index 0686721..c1af5c7 100644
> --- a/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
> +++ b/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
> @@ -1828,12 +1828,10 @@ class InfBuildData(ModuleBuildClassObject):
> self.__Macros = {}
> # EDK_GLOBAL defined macros can be applied to EDK module
> if self.AutoGenVersion < 0x00010005:
> self.__Macros.update(GlobalData.gEdkGlobal)
> self.__Macros.update(GlobalData.gGlobalDefines)
> - else:
> - self.__Macros.update(self.Defines)
> return self.__Macros
>
> ## Get architecture
> def _GetArch(self):
> return self._Arch
> @@ -1894,10 +1892,11 @@ class InfBuildData(ModuleBuildClassObject):
> if Name in self:
> self[Name] = Value
> if self._Defs == None:
> self._Defs = sdict()
> self._Defs[Name] = Value
> + self._Macros[Name] = Value
> # some special items in [Defines] section need special treatment
> elif Name in ('EFI_SPECIFICATION_VERSION', 'UEFI_SPECIFICATION_VERSION', 'EDK_RELEASE_VERSION', 'PI_SPECIFICATION_VERSION'):
> if Name in ('EFI_SPECIFICATION_VERSION', 'UEFI_SPECIFICATION_VERSION'):
> Name = 'UEFI_SPECIFICATION_VERSION'
> if self._Specification == None:
> @@ -1954,10 +1953,11 @@ class InfBuildData(ModuleBuildClassObject):
> self._CustomMakefile[TokenList[0]] = TokenList[1]
> else:
> if self._Defs == None:
> self._Defs = sdict()
> self._Defs[Name] = Value
> + self._Macros[Name] = Value
>
> #
> # Retrieve information in sections specific to Edk.x modules
> #
> if self.AutoGenVersion >= 0x00010005:
> --
> 2.6.1.windows.1
>
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Patch] BaseTools: Fix the regression issue caused by commit dc4c77
2017-02-22 16:03 [Patch] BaseTools: Fix the regression issue caused by commit dc4c77 Yonghong Zhu
2017-02-22 16:08 ` Ard Biesheuvel
@ 2017-02-23 3:22 ` Gao, Liming
2017-02-23 10:56 ` Laszlo Ersek
2 siblings, 0 replies; 4+ messages in thread
From: Gao, Liming @ 2017-02-23 3:22 UTC (permalink / raw)
To: Zhu, Yonghong, edk2-devel@lists.01.org
Reviewed-by: Liming Gao <liming.gao@intel.com>
>-----Original Message-----
>From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
>Yonghong Zhu
>Sent: Thursday, February 23, 2017 12:03 AM
>To: edk2-devel@lists.01.org
>Cc: Gao, Liming <liming.gao@intel.com>
>Subject: [edk2] [Patch] BaseTools: Fix the regression issue caused by commit
>dc4c77
>
>In the last commit dc4c77, the _GetHeaderInfo will be called more than
>once, which cause the self._ConstructorList.append(Value) append some
>duplicate value.
>
>Cc: Liming Gao <liming.gao@intel.com>
>Contributed-under: TianoCore Contribution Agreement 1.0
>Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
>---
> BaseTools/Source/Python/Workspace/WorkspaceDatabase.py | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
>diff --git a/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
>b/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
>index 0686721..c1af5c7 100644
>--- a/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
>+++ b/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
>@@ -1828,12 +1828,10 @@ class InfBuildData(ModuleBuildClassObject):
> self.__Macros = {}
> # EDK_GLOBAL defined macros can be applied to EDK module
> if self.AutoGenVersion < 0x00010005:
> self.__Macros.update(GlobalData.gEdkGlobal)
> self.__Macros.update(GlobalData.gGlobalDefines)
>- else:
>- self.__Macros.update(self.Defines)
> return self.__Macros
>
> ## Get architecture
> def _GetArch(self):
> return self._Arch
>@@ -1894,10 +1892,11 @@ class InfBuildData(ModuleBuildClassObject):
> if Name in self:
> self[Name] = Value
> if self._Defs == None:
> self._Defs = sdict()
> self._Defs[Name] = Value
>+ self._Macros[Name] = Value
> # some special items in [Defines] section need special treatment
> elif Name in ('EFI_SPECIFICATION_VERSION',
>'UEFI_SPECIFICATION_VERSION', 'EDK_RELEASE_VERSION',
>'PI_SPECIFICATION_VERSION'):
> if Name in ('EFI_SPECIFICATION_VERSION',
>'UEFI_SPECIFICATION_VERSION'):
> Name = 'UEFI_SPECIFICATION_VERSION'
> if self._Specification == None:
>@@ -1954,10 +1953,11 @@ class InfBuildData(ModuleBuildClassObject):
> self._CustomMakefile[TokenList[0]] = TokenList[1]
> else:
> if self._Defs == None:
> self._Defs = sdict()
> self._Defs[Name] = Value
>+ self._Macros[Name] = Value
>
> #
> # Retrieve information in sections specific to Edk.x modules
> #
> if self.AutoGenVersion >= 0x00010005:
>--
>2.6.1.windows.1
>
>_______________________________________________
>edk2-devel mailing list
>edk2-devel@lists.01.org
>https://lists.01.org/mailman/listinfo/edk2-devel
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Patch] BaseTools: Fix the regression issue caused by commit dc4c77
2017-02-22 16:03 [Patch] BaseTools: Fix the regression issue caused by commit dc4c77 Yonghong Zhu
2017-02-22 16:08 ` Ard Biesheuvel
2017-02-23 3:22 ` Gao, Liming
@ 2017-02-23 10:56 ` Laszlo Ersek
2 siblings, 0 replies; 4+ messages in thread
From: Laszlo Ersek @ 2017-02-23 10:56 UTC (permalink / raw)
To: Yonghong Zhu, edk2-devel; +Cc: Liming Gao
On 02/22/17 17:03, Yonghong Zhu wrote:
> In the last commit dc4c77, the _GetHeaderInfo will be called more than
> once, which cause the self._ConstructorList.append(Value) append some
> duplicate value.
>
> Cc: Liming Gao <liming.gao@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
> ---
> BaseTools/Source/Python/Workspace/WorkspaceDatabase.py | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
I see that this patch has been committed. It fixes the issue for me as well.
Tested-by: Laszlo Ersek <lersek@redhat.com>
Thanks!
Laszlo
> diff --git a/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py b/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
> index 0686721..c1af5c7 100644
> --- a/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
> +++ b/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
> @@ -1828,12 +1828,10 @@ class InfBuildData(ModuleBuildClassObject):
> self.__Macros = {}
> # EDK_GLOBAL defined macros can be applied to EDK module
> if self.AutoGenVersion < 0x00010005:
> self.__Macros.update(GlobalData.gEdkGlobal)
> self.__Macros.update(GlobalData.gGlobalDefines)
> - else:
> - self.__Macros.update(self.Defines)
> return self.__Macros
>
> ## Get architecture
> def _GetArch(self):
> return self._Arch
> @@ -1894,10 +1892,11 @@ class InfBuildData(ModuleBuildClassObject):
> if Name in self:
> self[Name] = Value
> if self._Defs == None:
> self._Defs = sdict()
> self._Defs[Name] = Value
> + self._Macros[Name] = Value
> # some special items in [Defines] section need special treatment
> elif Name in ('EFI_SPECIFICATION_VERSION', 'UEFI_SPECIFICATION_VERSION', 'EDK_RELEASE_VERSION', 'PI_SPECIFICATION_VERSION'):
> if Name in ('EFI_SPECIFICATION_VERSION', 'UEFI_SPECIFICATION_VERSION'):
> Name = 'UEFI_SPECIFICATION_VERSION'
> if self._Specification == None:
> @@ -1954,10 +1953,11 @@ class InfBuildData(ModuleBuildClassObject):
> self._CustomMakefile[TokenList[0]] = TokenList[1]
> else:
> if self._Defs == None:
> self._Defs = sdict()
> self._Defs[Name] = Value
> + self._Macros[Name] = Value
>
> #
> # Retrieve information in sections specific to Edk.x modules
> #
> if self.AutoGenVersion >= 0x00010005:
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-02-23 10:56 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-22 16:03 [Patch] BaseTools: Fix the regression issue caused by commit dc4c77 Yonghong Zhu
2017-02-22 16:08 ` Ard Biesheuvel
2017-02-23 3:22 ` Gao, Liming
2017-02-23 10:56 ` Laszlo Ersek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox