Define the global variables as weak to enable the proper linking with applications and the Sockets driver.

Submitted-by: Oliver Martin
Reviewed-by: lpleahy


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13475 6f19259b-4bc3-4df7-8a09-765794883524
diff --git a/StdLib/EfiSocketLib/UseEfiSocketLib.c b/StdLib/EfiSocketLib/UseEfiSocketLib.c
index 6f4248b..e44a720 100644
--- a/StdLib/EfiSocketLib/UseEfiSocketLib.c
+++ b/StdLib/EfiSocketLib/UseEfiSocketLib.c
@@ -23,7 +23,7 @@
   

   Tag GUID - IPv4 in use by an application using EfiSocketLib

 **/

-CONST EFI_GUID mEslIp4ServiceGuid = {

+CONST EFI_GUID mEslIp4ServiceGuid __attribute__((weak)) = {

   0x9c756011, 0x5d44, 0x4ee0, { 0xbc, 0xe7, 0xc3, 0x82, 0x18, 0xfe, 0x39, 0x8d }

 };

 

@@ -31,7 +31,7 @@
 /**

   Tag GUID - IPv6 in use by an application using EfiSocketLib

 **/

-CONST EFI_GUID mEslIp6ServiceGuid = {

+CONST EFI_GUID mEslIp6ServiceGuid __attribute__((weak)) = {

   0xc51b2761, 0xc476, 0x45fe, { 0xbe, 0x61, 0xba, 0x4b, 0xcc, 0x32, 0xf2, 0x34 }

 };

 

@@ -39,7 +39,7 @@
 /**

   Tag GUID - TCPv4 in use by an application using EfiSocketLib

 **/

-CONST EFI_GUID mEslTcp4ServiceGuid = {

+CONST EFI_GUID mEslTcp4ServiceGuid __attribute__((weak)) = {

   0xffc659c2, 0x4ef2, 0x4532, { 0xb8, 0x75, 0xcd, 0x9a, 0xa4, 0x27, 0x4c, 0xde }

 };

 

@@ -47,7 +47,7 @@
 /**

   Tag GUID - TCPv6 in use by an application using EfiSocketLib

 **/

-CONST EFI_GUID mEslTcp6ServiceGuid = {

+CONST EFI_GUID mEslTcp6ServiceGuid __attribute__((weak)) = {

   0x279858a4, 0x4e9e, 0x4e53, { 0x93, 0x22, 0xf2, 0x54, 0xe0, 0x7e, 0xef, 0xd4 }

 };

 

@@ -55,7 +55,7 @@
 /**

   Tag GUID - UDPv4 in use by an application using EfiSocketLib

 **/

-CONST EFI_GUID mEslUdp4ServiceGuid = {

+CONST EFI_GUID mEslUdp4ServiceGuid __attribute__((weak)) = {

   0x44e03a55, 0x8d97, 0x4511, { 0xbf, 0xef, 0xa, 0x8b, 0xc6, 0x2c, 0x25, 0xae }

 };

 

@@ -63,7 +63,7 @@
 /**

   Tag GUID - UDPv6 in use by an application using EfiSocketLib

 **/

-CONST EFI_GUID mEslUdp6ServiceGuid = {

+CONST EFI_GUID mEslUdp6ServiceGuid __attribute__((weak)) = {

   0xaa4af677, 0x6efe, 0x477c, { 0x96, 0x68, 0xe8, 0x13, 0x9d, 0x2, 0xfd, 0x9b }

 };

 

@@ -327,7 +327,7 @@
 /**

   Socket layer's service binding protocol delcaration.

 **/

-CONST EFI_SERVICE_BINDING_PROTOCOL mEfiServiceBinding = {

+CONST EFI_SERVICE_BINDING_PROTOCOL mEfiServiceBinding __attribute__((weak)) = {

   NULL,

   NULL

 };

@@ -338,5 +338,5 @@
   for any socket application that links against the EfiSocketLib.

   Note that the SocketDxe driver uses different redirection.

 **/

-PFN_ESL_xSTRUCTOR mpfnEslConstructor = EslServiceNetworkConnect;    ///<  Constructor for EfiSocketLib

-PFN_ESL_xSTRUCTOR mpfnEslDestructor = EslServiceNetworkDisconnect;  ///<  Destructor for EfiSocketLib

+PFN_ESL_xSTRUCTOR mpfnEslConstructor __attribute__((weak)) = EslServiceNetworkConnect;    ///<  Constructor for EfiSocketLib

+PFN_ESL_xSTRUCTOR mpfnEslDestructor __attribute__((weak)) = EslServiceNetworkDisconnect;  ///<  Destructor for EfiSocketLib