[PATCH v2 09/19] Vlv2TbltDevicePkg/AcpiPlatform: Amend the declaration of mGlobalNvsArea


Gary Lin
 

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.wei@...>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gary Lin <glin@...>
Reviewed-by: David Wei <david.wei@...>
---
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 bb9cee5..70ad07e 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

Join {devel@edk2.groups.io to automatically receive all group messages.