summaryrefslogtreecommitdiff
path: root/MdeModulePkg
diff options
context:
space:
mode:
authorFeng Tian <feng.tian@intel.com>2015-07-28 02:47:52 +0000
committererictian <erictian@Edk2>2015-07-28 02:47:52 +0000
commit5966dd8ff2ef60095227523794ad07af675a3aeb (patch)
tree5976841609c62b852dddd5d4a7812cd876393844 /MdeModulePkg
parent08308fc9eba9d0bc0d3a923df90a86b8521028d5 (diff)
downloadedk2-platforms-5966dd8ff2ef60095227523794ad07af675a3aeb.tar.xz
MdeModulePkg/UfsPassThru: Fix wrong GLOBAL_REMOVE_IF_UNREFERENCED usage
GLOBAL_REMOVE_IF_UNREFERENCED means __declspec(selectany) for MS tool chain IA32/X64 build. According to MSDN, "selectany" would tell the compiler that the declared global data item (variable or object) is a pick-any COMDAT (a packaged function). At link time, if multiple definitions of a COMDAT are seen, the linker picks one and discards the rest. So we have to remove GLOBAL_REMOVE_IF_UNREFERENCED key word from two global variable's extern definitions of .h file as we have used this keyword in .c file, otherwise the MS tool chain would pick the definitions in .h file and treat it as uninitialized data to generate full-0 content for these two global variables. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Feng Tian <feng.tian@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18088 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg')
-rw-r--r--MdeModulePkg/Bus/Ufs/UfsPassThruDxe/UfsPassThru.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/MdeModulePkg/Bus/Ufs/UfsPassThruDxe/UfsPassThru.h b/MdeModulePkg/Bus/Ufs/UfsPassThruDxe/UfsPassThru.h
index 3d8e3510bd..ce8066f71e 100644
--- a/MdeModulePkg/Bus/Ufs/UfsPassThruDxe/UfsPassThru.h
+++ b/MdeModulePkg/Bus/Ufs/UfsPassThruDxe/UfsPassThru.h
@@ -719,8 +719,8 @@ UfsExecNopCmds (
IN UFS_PASS_THRU_PRIVATE_DATA *Private
);
-extern GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME_PROTOCOL gUfsPassThruComponentName;
-extern GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME2_PROTOCOL gUfsPassThruComponentName2;
-extern EFI_DRIVER_BINDING_PROTOCOL gUfsPassThruDriverBinding;
+extern EFI_COMPONENT_NAME_PROTOCOL gUfsPassThruComponentName;
+extern EFI_COMPONENT_NAME2_PROTOCOL gUfsPassThruComponentName2;
+extern EFI_DRIVER_BINDING_PROTOCOL gUfsPassThruDriverBinding;
#endif