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