mGlobalNvsArea wasn't declared as extern in AcpiPlatform.h and the header
was included in AcpiPlatform.c and AcpiPlatformHooks.c. Although it's
declared as extern in AcpiPlatformHooks.c, gcc still created an instance
of mGlobalNvsArea in AcpiPlatformHooks.c since the header was expanded
first and then the linker complained "multiple definition". This commit
rearrange the delaration of mGlobalNvsArea to satisfy gcc.

Cc: David Wei <david....@intel.com>
CC: Tim He <tim...@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gary Lin <g...@suse.com>
---
 Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c      | 1 +
 Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.h      | 2 +-
 Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatformHooks.c | 1 -
 3 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c 
b/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c
index c34f950..11f2387 100644
--- a/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c
+++ b/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c
@@ -66,6 +66,7 @@ CHAR16    gACPIOSFRRefDataBlockVariableName[] = 
ACPI_OSFR_REF_DATA_BLOCK_VARIABL
 CHAR16    gACPIOSFRMfgStringVariableName[] = 
ACPI_OSFR_MFG_STRING_VARIABLE_NAME;
 
 EFI_CPU_IO_PROTOCOL                    *mCpuIo;
+EFI_GLOBAL_NVS_AREA_PROTOCOL            mGlobalNvsArea;
 #ifndef __GNUC__
 #pragma optimize("", off)
 #endif
diff --git a/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.h 
b/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.h
index fbc9272..8587beb 100644
--- a/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.h
+++ b/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.h
@@ -59,7 +59,7 @@ Abstract:
 //
 // Global variables.
 //
-EFI_GLOBAL_NVS_AREA_PROTOCOL  mGlobalNvsArea;
+extern EFI_GLOBAL_NVS_AREA_PROTOCOL  mGlobalNvsArea;
 
 //
 // ACPI table information used to initialize tables.
diff --git a/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatformHooks.c 
b/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatformHooks.c
index c89c07f..2dc9657 100644
--- a/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatformHooks.c
+++ b/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatformHooks.c
@@ -33,7 +33,6 @@ Abstract:
 //
 #include "AcpiPlatformHooksLib.h"
 
-extern EFI_GLOBAL_NVS_AREA_PROTOCOL  mGlobalNvsArea;
 extern SYSTEM_CONFIGURATION             mSystemConfiguration;
 
 ENHANCED_SPEEDSTEP_PROTOCOL             *mEistProtocol  = NULL;
-- 
2.9.2

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to