public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-devel] [edk2-libc Patch 0/1] Support for compiling Python UEFI interpreter with VS2022
@ 2024-07-17  6:59 Jayaprakash, N
  2024-07-17  6:59 ` [edk2-devel] [edk2-libc Patch 1/1] edk2-libc: " Jayaprakash, N
  0 siblings, 1 reply; 7+ messages in thread
From: Jayaprakash, N @ 2024-07-17  6:59 UTC (permalink / raw)
  To: devel; +Cc: Jayaprakash N

This patch request adds support for compiling Python UEFI interpreter
with VS2022 by fixing all the compilation issues observed in edk2-libc
repo.

Jayaprakash N (1):
  edk2-libc: Support for compiling Python UEFI interpreter with VS2022

 AppPkg/Applications/Enquire/Enquire.c         | 48 +++++------
 .../OrderedCollectionTest.c                   | 10 +--
 .../Sockets/DataSource/DataSource.c           | 10 +--
 AppPkg/Applications/Sockets/OobRx/OobRx.c     |  4 +-
 .../Applications/Sockets/RawIp4Rx/RawIp4Rx.c  |  4 +-
 StdLib/BsdSocketLib/getnetbyht.c              |  9 ++-
 StdLib/BsdSocketLib/ns_print.c                | 57 +++++++------
 StdLib/EfiSocketLib/Socket.c                  | 80 +++++++++----------
 8 files changed, 116 insertions(+), 106 deletions(-)

-- 
2.45.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119947): https://edk2.groups.io/g/devel/message/119947
Mute This Topic: https://groups.io/mt/107267144/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [edk2-devel] [edk2-libc Patch 1/1] edk2-libc: Support for compiling Python UEFI interpreter with VS2022
  2024-07-17  6:59 [edk2-devel] [edk2-libc Patch 0/1] Support for compiling Python UEFI interpreter with VS2022 Jayaprakash, N
@ 2024-07-17  6:59 ` Jayaprakash, N
  2024-07-17 16:09   ` Michael D Kinney
  0 siblings, 1 reply; 7+ messages in thread
From: Jayaprakash, N @ 2024-07-17  6:59 UTC (permalink / raw)
  To: devel; +Cc: Jayaprakash N, Rebecca Cran, Michael D Kinney

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4811

This commit fixes the compilation issues observed with several
components in the edk2-libc repo while trying to compile Python
interpreter for UEFI.

Cc: Rebecca Cran <rebecca@bsdio.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Jayaprakash N <n.jayaprakash@intel.com>
Signed-off-by: Jayaprakash N <n.jayaprakash@intel.com>
---
 AppPkg/Applications/Enquire/Enquire.c         | 48 +++++------
 .../OrderedCollectionTest.c                   | 10 +--
 .../Sockets/DataSource/DataSource.c           | 10 +--
 AppPkg/Applications/Sockets/OobRx/OobRx.c     |  4 +-
 .../Applications/Sockets/RawIp4Rx/RawIp4Rx.c  |  4 +-
 StdLib/BsdSocketLib/getnetbyht.c              |  9 ++-
 StdLib/BsdSocketLib/ns_print.c                | 57 +++++++------
 StdLib/EfiSocketLib/Socket.c                  | 80 +++++++++----------
 8 files changed, 116 insertions(+), 106 deletions(-)

diff --git a/AppPkg/Applications/Enquire/Enquire.c b/AppPkg/Applications/Enquire/Enquire.c
index 1e1db69..5e34f48 100644
--- a/AppPkg/Applications/Enquire/Enquire.c
+++ b/AppPkg/Applications/Enquire/Enquire.c
@@ -5,7 +5,7 @@
     Steven Pemberton, CWI, Amsterdam; "Steven.Pemberton@cwi.nl"
     Used with permission.
 
-    Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
+    Copyright (c) 2010 - 2024, Intel Corporation. All rights reserved.<BR>
     This program and the accompanying materials
     are licensed and made available under the terms and conditions of the BSD License
     which accompanies this distribution. The full text of the license may be found at
@@ -918,15 +918,15 @@ memeq(
 }
 
 Void
-farewell(int bugs)
+farewell(int bugs_local)
 {
-  if (bugs == 0) exit(0);
+  if (bugs_local == 0) exit(0);
   printf("\n%sFor hints on dealing with the ", co);
-  if (bugs == 1) printf("problem");
-  else printf("%d problems", bugs);
+  if (bugs_local == 1) printf("problem");
+  else printf("%d problems", bugs_local);
   printf(" above\n   see the section 'TROUBLESHOOTING' in the file ");
   printf("%s%s\n", FILENAME, oc);
-  exit(bugs);
+  exit(bugs_local);
 }
 
 /* The program has received a signal where it wasn't expecting one */
@@ -1927,51 +1927,51 @@ int cprop( void )
 
     if (c_signed) {
 #ifndef NO_UC
-/* Syntax error? Define NO_UC */ Volatile unsigned char c1, char_max;
-      c1=0; char_max=0;
+/* Syntax error? Define NO_UC */ Volatile unsigned char c1, char_max_local;
+      c1=0; char_max_local=0;
       c1++;
-      if (setjmp(lab)==0) { /* Yields char_max */
-        while (c1>char_max) {
-          char_max=c1;
+      if (setjmp(lab)==0) { /* Yields char_max_local */
+        while (c1>char_max_local) {
+          char_max_local=c1;
           c1++;
         }
       }
       Unexpected(4);
       if (sizeof(char) == sizeof(int)) {
         u_define(D_UCHAR_MAX, "", "UCHAR", "_MAX",
-           (ulong) char_max,
+           (ulong) char_max_local,
            (ulong) UCHAR_MAX, "");
       } else {
         i_define(D_UCHAR_MAX, "", "UCHAR", "_MAX",
-           (long) char_max, 0L,
+           (long) char_max_local, 0L,
            (long) UCHAR_MAX, "");
       }
 #endif
     } else {
 #ifndef NO_SC
-/* Syntax error? Define NO_SC */ Volatile signed char c1, char_max, char_min;
-      c1=0; char_max=0;
+/* Syntax error? Define NO_SC */ Volatile signed char c1, char_max_local, char_min_local;
+      c1=0; char_max_local=0;
       c1++;
-      if (setjmp(lab)==0) { /* Yields char_max */
-        while (c1>char_max) {
-          char_max=c1;
+      if (setjmp(lab)==0) { /* Yields char_max_local */
+        while (c1>char_max_local) {
+          char_max_local=c1;
           c1++;
         }
       }
-      c1=0; char_min=0;
+      c1=0; char_min_local=0;
       c1--;
-      if (setjmp(lab)==0) { /* Yields char_min */
-        while (c1<char_min) {
-          char_min=c1;
+      if (setjmp(lab)==0) { /* Yields char_min_local */
+        while (c1<char_min_local) {
+          char_min_local=c1;
           c1--;
         }
       }
       Unexpected(5);
       i_define(D_SCHAR_MIN, "", "SCHAR", "_MIN",
-         (long) char_min, (long) maxint,
+         (long) char_min_local, (long) maxint,
          (long) SCHAR_MIN, "");
       i_define(D_SCHAR_MAX, "", "SCHAR", "_MAX",
-         (long) char_max, 0L,
+         (long) char_max_local, 0L,
          (long) SCHAR_MAX, "");
 #endif /* NO_SC */
     }
diff --git a/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.c b/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.c
index 712ee8f..ea44b31 100644
--- a/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.c
+++ b/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.c
@@ -7,7 +7,7 @@
   per default, eg. serial line).
 
   Copyright (C) 2014, Red Hat, Inc.
-  Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2010 - 2024, Intel Corporation. All rights reserved.<BR>
 
   SPDX-License-Identifier: BSD-2-Clause-Patent
 **/
@@ -458,10 +458,10 @@ SetupInputOutput (
 
     case 'h':
       fprintf (stderr,
-        "%1$s: simple OrderedCollectionLib tester\n"
+        "%s: simple OrderedCollectionLib tester\n"
         "\n"
-        "Usage: 1. %1$s [-i InputFile] [-o OutputFile]\n"
-        "       2. %1$s -h\n"
+        "Usage: 1. %s [-i InputFile] [-o OutputFile]\n"
+        "       2. %s -h\n"
         "\n"
         "Options:\n"
         "  -i InputFile : read commands from InputFile\n"
@@ -469,7 +469,7 @@ SetupInputOutput (
         "  -o OutputFile: write command responses to OutputFile\n"
         "                 (will write to stdout if absent)\n"
         "  -h           : print this help and exit\n"
-        "\n", ArgV[0]);
+        "\n", ArgV[0], ArgV[0], ArgV[0]);
       ListCommands ();
       exit (EXIT_SUCCESS);
 
diff --git a/AppPkg/Applications/Sockets/DataSource/DataSource.c b/AppPkg/Applications/Sockets/DataSource/DataSource.c
index 360689e..0ca6a9a 100644
--- a/AppPkg/Applications/Sockets/DataSource/DataSource.c
+++ b/AppPkg/Applications/Sockets/DataSource/DataSource.c
@@ -1,7 +1,7 @@
 /** @file
   Data source for network testing.
 
-  Copyright (c) 2011-2012, Intel Corporation. All rights reserved.
+  Copyright (c) 2011-2024, Intel Corporation. All rights reserved.
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
@@ -538,7 +538,7 @@ EFI_STATUS
 SocketSend (
   )
 {
-  size_t BytesSent;
+  size_t BytesSentLocal;
   EFI_STATUS Status;
   EFI_TPL TplPrevious;
 
@@ -562,8 +562,8 @@ SocketSend (
     //
     //  Send some bytes
     //
-    BytesSent = write ( Socket, &Buffer[0], sizeof ( Buffer ));
-    if ( -1 == BytesSent ) {
+    BytesSentLocal = write ( Socket, &Buffer[0], sizeof ( Buffer ));
+    if ( -1 == BytesSentLocal ) {
       DEBUG (( DEBUG_INFO,
                 "ERROR: send failed, errno: %d\r\n",
                 errno ));
@@ -589,7 +589,7 @@ Status = EFI_NOT_STARTED;
     //
     //  Account for the data sent
     //
-    TotalBytesSent += BytesSent;
+    TotalBytesSent += BytesSentLocal;
 
     //
     //  Release the TimerCallback routine synchronization
diff --git a/AppPkg/Applications/Sockets/OobRx/OobRx.c b/AppPkg/Applications/Sockets/OobRx/OobRx.c
index 28e10d8..af07127 100644
--- a/AppPkg/Applications/Sockets/OobRx/OobRx.c
+++ b/AppPkg/Applications/Sockets/OobRx/OobRx.c
@@ -150,7 +150,7 @@ OobRx (
             //
             //  Display the received OOB data
             //
-            printf ( "%5Ld OOB bytes received\r\n", (UINT64)BytesReceived );
+            printf ( "%5llu OOB bytes received\r\n", (UINT64)BytesReceived );
 
             //
             //  Account for the bytes received
@@ -183,7 +183,7 @@ OobRx (
               //
               //  Display the received data
               //
-              printf ( "%4Ld bytes received\r\n", (UINT64)BytesReceived );
+              printf ( "%4llu bytes received\r\n", (UINT64)BytesReceived );
 
               //
               //  Account for the bytes received
diff --git a/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c b/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
index b52cd38..b190b44 100644
--- a/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
+++ b/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
@@ -1,7 +1,7 @@
 /** @file
   Raw IP4 receive application
 
-  Copyright (c) 2011-2012, Intel Corporation. All rights reserved.
+  Copyright (c) 2011-2024, Intel Corporation. All rights reserved.
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
@@ -157,7 +157,7 @@ RawIp4Rx (
         //  Display the bytes received
         //
         if ( 0 == RetVal ) {
-          printf ( "Total Bytes Received:  %Ld\r\n", TotalBytesReceived );
+          printf ( "Total Bytes Received:  %llu\r\n", TotalBytesReceived );
         }
 
         //
diff --git a/StdLib/BsdSocketLib/getnetbyht.c b/StdLib/BsdSocketLib/getnetbyht.c
index 08b8042..5907d44 100644
--- a/StdLib/BsdSocketLib/getnetbyht.c
+++ b/StdLib/BsdSocketLib/getnetbyht.c
@@ -41,6 +41,11 @@
  * from getnetent.c	1.1 (Coimbra) 93/06/02
  */
 
+/*
+ * Copyright (c) 2024, Intel Corporation. All rights reserved.
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+
 #if defined(LIBC_SCCS) && !defined(lint)
 static char sccsid[] = "@(#)getnetent.c	8.1 (Berkeley) 6/4/93";
 static char orig_rcsid[] = "From: Id: getnetent.c,v 8.4 1997/06/01 20:34:37 vixie Exp";
@@ -155,13 +160,13 @@ found:
 }
 
 struct netent *
-_getnetbyhtaddr(register unsigned long net, register int type)
+_getnetbyhtaddr(register unsigned long net_local, register int type)
 {
 	register struct netent *p;
 
 	setnetent(_net_stayopen);
 	while ( NULL != (p = getnetent()) )
-		if (p->n_addrtype == type && p->n_net == net)
+        if (p->n_addrtype == type && p->n_net == net_local)
 			break;
 	if (!_net_stayopen)
 		endnetent();
diff --git a/StdLib/BsdSocketLib/ns_print.c b/StdLib/BsdSocketLib/ns_print.c
index ea29d01..fb19bf9 100644
--- a/StdLib/BsdSocketLib/ns_print.c
+++ b/StdLib/BsdSocketLib/ns_print.c
@@ -55,6 +55,11 @@
  *
  */
 
+/*
+ * Copyright (c) 2024, Intel Corporation. All rights reserved.
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+
 /* Import. */
 
 #include <sys/types.h>
@@ -211,7 +216,7 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
     break;
 
   case ns_t_soa: {
-    u_long t;
+    u_long t_local;
 
     /* Server name. */
     T(addname(msg, msglen, &rdata, origin, &buf, &buflen));
@@ -226,45 +231,45 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
       goto formerr;
 
     /* Serial number. */
-    t = ns_get32(rdata);  rdata += NS_INT32SZ;
+    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
     T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
-    len = SPRINTF((tmp, "%lu", (unsigned long)t));
+    len = SPRINTF((tmp, "%lu", (unsigned long)t_local));
     T(addstr(tmp, len, &buf, &buflen));
     T(spaced = addtab(len, 16, spaced, &buf, &buflen));
     T(addstr("; serial\n", 9, &buf, &buflen));
     spaced = 0;
 
     /* Refresh interval. */
-    t = ns_get32(rdata);  rdata += NS_INT32SZ;
+    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
     T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
-    T(len = ns_format_ttl(t, buf, buflen));
+    T(len = ns_format_ttl(t_local, buf, buflen));
     addlen(len, &buf, &buflen);
     T(spaced = addtab(len, 16, spaced, &buf, &buflen));
     T(addstr("; refresh\n", 10, &buf, &buflen));
     spaced = 0;
 
     /* Retry interval. */
-    t = ns_get32(rdata);  rdata += NS_INT32SZ;
+    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
     T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
-    T(len = ns_format_ttl(t, buf, buflen));
+    T(len = ns_format_ttl(t_local, buf, buflen));
     addlen(len, &buf, &buflen);
     T(spaced = addtab(len, 16, spaced, &buf, &buflen));
     T(addstr("; retry\n", 8, &buf, &buflen));
     spaced = 0;
 
     /* Expiry. */
-    t = ns_get32(rdata);  rdata += NS_INT32SZ;
+    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
     T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
-    T(len = ns_format_ttl(t, buf, buflen));
+    T(len = ns_format_ttl(t_local, buf, buflen));
     addlen(len, &buf, &buflen);
     T(spaced = addtab(len, 16, spaced, &buf, &buflen));
     T(addstr("; expiry\n", 9, &buf, &buflen));
     spaced = 0;
 
     /* Minimum TTL. */
-    t = ns_get32(rdata);  rdata += NS_INT32SZ;
+    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
     T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
-    T(len = ns_format_ttl(t, buf, buflen));
+    T(len = ns_format_ttl(t_local, buf, buflen));
     addlen(len, &buf, &buflen);
     T(addstr(" )", 2, &buf, &buflen));
     T(spaced = addtab(len, 16, spaced, &buf, &buflen));
@@ -276,15 +281,15 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
   case ns_t_mx:
   case ns_t_afsdb:
   case ns_t_rt: {
-    u_int t;
+    u_int t_local;
 
     if (rdlen < NS_INT16SZ)
       goto formerr;
 
     /* Priority. */
-    t = ns_get16(rdata);
+    t_local = ns_get16(rdata);
     rdata += NS_INT16SZ;
-    len = SPRINTF((tmp, "%u ", (unsigned int)t));
+    len = SPRINTF((tmp, "%u ", (unsigned int)t_local));
     T(addstr(tmp, len, &buf, &buflen));
 
     /* Target. */
@@ -294,15 +299,15 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
       }
 
   case ns_t_px: {
-    u_int t;
+    u_int t_local;
 
     if (rdlen < NS_INT16SZ)
       goto formerr;
 
     /* Priority. */
-    t = ns_get16(rdata);
+    t_local = ns_get16(rdata);
     rdata += NS_INT16SZ;
-    len = SPRINTF((tmp, "%u ", (unsigned int)t));
+    len = SPRINTF((tmp, "%u ", (unsigned int)t_local));
     T(addstr(tmp, len, &buf, &buflen));
 
     /* Name1. */
@@ -503,33 +508,33 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
       }
 
   case ns_t_sig: {
-    u_int type, algorithm, labels, footprint;
+    u_int type_local, algorithm, labels, footprint;
     const char *leader;
-    u_long t;
+    u_long t_local;
     int n;
 
     if (rdlen < 22)
       goto formerr;
 
     /* Type covered, Algorithm, Label count, Original TTL. */
-          type = ns_get16(rdata);  rdata += NS_INT16SZ;
+          type_local = ns_get16(rdata);  rdata += NS_INT16SZ;
     algorithm = *rdata++;
     labels = *rdata++;
-    t = ns_get32(rdata);  rdata += NS_INT32SZ;
+    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
     len = SPRINTF((tmp, " %s %d %lu ",
-                   p_type((int)type), (int)algorithm, (unsigned long)t));
+                   p_type((int)type_local), (int)algorithm, (unsigned long)t_local));
     T(addstr(tmp, len, &buf, &buflen));
     if (labels != (u_int)dn_count_labels(name))
       goto formerr;
 
     /* Signature expiry. */
-    t = ns_get32(rdata);  rdata += NS_INT32SZ;
-    len = SPRINTF((tmp, "%s ", p_secstodate(t)));
+    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
+    len = SPRINTF((tmp, "%s ", p_secstodate(t_local)));
     T(addstr(tmp, len, &buf, &buflen));
 
     /* Time signed. */
-    t = ns_get32(rdata);  rdata += NS_INT32SZ;
-    len = SPRINTF((tmp, "%s ", p_secstodate(t)));
+    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
+    len = SPRINTF((tmp, "%s ", p_secstodate(t_local)));
     T(addstr(tmp, len, &buf, &buflen));
 
     /* Signature Footprint. */
diff --git a/StdLib/EfiSocketLib/Socket.c b/StdLib/EfiSocketLib/Socket.c
index ee15b62..5f91744 100644
--- a/StdLib/EfiSocketLib/Socket.c
+++ b/StdLib/EfiSocketLib/Socket.c
@@ -5,7 +5,7 @@
   * Bound - pSocket->PortList is not NULL
   * Listen - AcceptWait event is not NULL
 
-  Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2010 - 2024, Intel Corporation. All rights reserved.<BR>
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
 
@@ -570,7 +570,7 @@ EslSocket (
   int ApiArraySize;
   ESL_SOCKET * pSocket;
   EFI_STATUS Status;
-  int errno;
+  int error_num;
 
   DBG_ENTER ( );
 
@@ -583,7 +583,7 @@ EslSocket (
   }
 
   //  Assume success
-  errno = 0;
+  error_num = 0;
   Status = EFI_SUCCESS;
 
   //  Use break instead of goto
@@ -595,7 +595,7 @@ EslSocket (
       DEBUG (( DEBUG_ERROR | DEBUG_SOCKET,
                 "ERROR - Invalid domain value\r\n" ));
       Status = EFI_INVALID_PARAMETER;
-      errno = EAFNOSUPPORT;
+      error_num = EAFNOSUPPORT;
       break;
     }
 
@@ -625,7 +625,7 @@ EslSocket (
                 "ERROR - Invalid type value\r\n" ));
       //  The socket type is not supported
       Status = EFI_INVALID_PARAMETER;
-      errno = EPROTOTYPE;
+      error_num = EPROTOTYPE;
       break;
     }
 
@@ -665,15 +665,15 @@ EslSocket (
       if ( ppApiArrayEnd <= ppApiArray ) {
         DEBUG (( DEBUG_ERROR | DEBUG_SOCKET,
                   "ERROR - The protocol is not supported!\r\n" ));
-        errno = EPROTONOSUPPORT;
+        error_num = EPROTONOSUPPORT;
         break;
       }
 
       //  The driver does not support this protocol
       DEBUG (( DEBUG_ERROR | DEBUG_SOCKET,
                 "ERROR - The protocol does not support this socket type!\r\n" ));
-      errno = EPROTONOSUPPORT;
-      errno = EPROTOTYPE;
+      error_num = EPROTONOSUPPORT;
+      error_num = EPROTOTYPE;
       break;
     }
     //  Save the socket attributes
@@ -687,7 +687,7 @@ EslSocket (
   }
   //  Return the operation status
   if ( NULL != pErrno ) {
-    *pErrno = errno;
+    *pErrno = error_num;
   }
   DBG_EXIT_STATUS ( Status );
   return Status;
@@ -1334,7 +1334,7 @@ EslSocketClosePoll (
   IN int * pErrno
   )
 {
-  int errno;
+  int error_num;
   ESL_LAYER * pLayer;
   ESL_SOCKET * pNextSocket;
   ESL_SOCKET * pSocket;
@@ -1346,7 +1346,7 @@ EslSocketClosePoll (
   //
   //  Assume success
   //
-  errno = 0;
+  error_num = 0;
   Status = EFI_SUCCESS;
 
   //
@@ -1401,7 +1401,7 @@ EslSocketClosePoll (
           //  At least one port is still open
           //
           Status = EFI_NOT_READY;
-          errno = EAGAIN;
+          error_num = EAGAIN;
         }
       }
       else {
@@ -1409,7 +1409,7 @@ EslSocketClosePoll (
         //  SocketCloseStart was not called
         //
         Status = EFI_NOT_STARTED;
-        errno = EPERM;
+        error_num = EPERM;
       }
       break;
     }
@@ -1428,7 +1428,7 @@ EslSocketClosePoll (
     //  Socket not found
     //
     Status = EFI_NOT_FOUND;
-    errno = ENOTSOCK;
+    error_num = ENOTSOCK;
   }
 
   //
@@ -1440,7 +1440,7 @@ EslSocketClosePoll (
   //  Return the operation status
   //
   if ( NULL != pErrno ) {
-    *pErrno = errno;
+    *pErrno = error_num;
   }
   DBG_EXIT_STATUS ( Status );
   return Status;
@@ -1477,7 +1477,7 @@ EslSocketCloseStart (
   IN int * pErrno
   )
 {
-  int errno;
+  int error_num;
   ESL_PORT * pNextPort;
   ESL_PORT * pPort;
   ESL_SOCKET * pSocket;
@@ -1490,7 +1490,7 @@ EslSocketCloseStart (
   //  Assume success
   //
   Status = EFI_SUCCESS;
-  errno = 0;
+  error_num = 0;
 
   //
   //  Synchronize with the socket layer
@@ -1521,7 +1521,7 @@ EslSocketCloseStart (
                                          DEBUG_CLOSE | DEBUG_LISTEN | DEBUG_CONNECTION );
       if (( EFI_SUCCESS != Status )
         && ( EFI_NOT_READY != Status )) {
-        errno = EIO;
+        error_num = EIO;
         break;
       }
 
@@ -1535,12 +1535,12 @@ EslSocketCloseStart (
     //  Attempt to finish closing the socket
     //
     if ( NULL == pPort ) {
-      Status = EslSocketClosePoll ( pSocketProtocol, &errno );
+      Status = EslSocketClosePoll ( pSocketProtocol, &error_num );
     }
   }
   else {
     Status = EFI_NOT_READY;
-    errno = EAGAIN;
+    error_num = EAGAIN;
   }
 
   //
@@ -1552,7 +1552,7 @@ EslSocketCloseStart (
   //  Return the operation status
   //
   if ( NULL != pErrno ) {
-    *pErrno = errno;
+    *pErrno = error_num;
   }
   DBG_EXIT_STATUS ( Status );
   return Status;
@@ -1889,7 +1889,7 @@ EslSocketFree (
   )
 {
   EFI_HANDLE ChildHandle;
-  int errno;
+  int error_num;
   ESL_LAYER * pLayer;
   ESL_SOCKET * pSocket;
   ESL_SOCKET * pSocketPrevious;
@@ -1901,7 +1901,7 @@ EslSocketFree (
   //
   //  Assume failure
   //
-  errno = EIO;
+  error_num = EIO;
   pSocket = NULL;
   Status = EFI_INVALID_PARAMETER;
 
@@ -1986,7 +1986,7 @@ EslSocketFree (
                     "0x%08x: Free pSocket, %d bytes\r\n",
                     pSocket,
                     sizeof ( *pSocket )));
-          errno = 0;
+          error_num = 0;
         }
         else {
           DEBUG (( DEBUG_ERROR | DEBUG_POOL,
@@ -2014,10 +2014,10 @@ EslSocketFree (
   }
 
   //
-  //  Return the errno value if possible
+  //  Return the error_num value if possible
   //
   if ( NULL != pErrno ) {
-    *pErrno = errno;
+    *pErrno = error_num;
   }
 
   //
@@ -2751,7 +2751,7 @@ EslSocketOptionGet (
   IN int * pErrno
   )
 {
-  int errno;
+  int error_num;
   socklen_t LengthInBytes;
   socklen_t MaxBytes;
   CONST UINT8 * pOptionData;
@@ -2763,7 +2763,7 @@ EslSocketOptionGet (
   //
   //  Assume failure
   //
-  errno = EINVAL;
+  error_num = EINVAL;
   Status = EFI_INVALID_PARAMETER;
 
   //
@@ -2795,7 +2795,7 @@ EslSocketOptionGet (
                                                  OptionName,
                                                  (CONST void ** __restrict)&pOptionData,
                                                  &LengthInBytes );
-          errno = pSocket->errno;
+          error_num = pSocket->errno;
           break;
         }
         else {
@@ -2814,7 +2814,7 @@ EslSocketOptionGet (
                   "ERROR - %a does not support any options!\r\n",
                   pSocket->pApi->pName ));
       }
-      errno = ENOPROTOOPT;
+      error_num = ENOPROTOOPT;
       Status = EFI_INVALID_PARAMETER;
       break;
 
@@ -2825,7 +2825,7 @@ EslSocketOptionGet (
         //  Socket option not supported
         //
         DEBUG (( DEBUG_INFO | DEBUG_OPTION, "ERROR - Invalid socket option!\r\n" ));
-        errno = EINVAL;
+        error_num = EINVAL;
         Status = EFI_INVALID_PARAMETER;
         break;
 
@@ -2927,7 +2927,7 @@ EslSocketOptionGet (
       if ( LengthInBytes < MaxBytes ) {
         ZeroMem ( &((UINT8 *)pOptionValue)[LengthInBytes], MaxBytes - LengthInBytes );
       }
-      errno = 0;
+      error_num = 0;
       Status = EFI_SUCCESS;
     }
   }
@@ -2936,7 +2936,7 @@ EslSocketOptionGet (
   //  Return the operation status
   //
   if ( NULL != pErrno ) {
-    *pErrno = errno;
+    *pErrno = error_num;
   }
   DBG_EXIT_STATUS ( Status );
   return Status;
@@ -2971,7 +2971,7 @@ EslSocketOptionSet (
   )
 {
   BOOLEAN bTrueFalse;
-  int errno;
+  int error_num;
   socklen_t LengthInBytes;
   UINT8 * pOptionData;
   ESL_SOCKET * pSocket;
@@ -2982,7 +2982,7 @@ EslSocketOptionSet (
   //
   //  Assume failure
   //
-  errno = EINVAL;
+  error_num = EINVAL;
   Status = EFI_INVALID_PARAMETER;
 
   //
@@ -3015,7 +3015,7 @@ EslSocketOptionSet (
                                                    OptionName,
                                                    pOptionValue,
                                                    OptionLength );
-            errno = pSocket->errno;
+            error_num = pSocket->errno;
             break;
           }
           else {
@@ -3034,7 +3034,7 @@ EslSocketOptionSet (
                     "ERROR - %a does not support any options!\r\n",
                     pSocket->pApi->pName ));
         }
-        errno = ENOPROTOOPT;
+        error_num = ENOPROTOOPT;
         Status = EFI_INVALID_PARAMETER;
         break;
 
@@ -3046,7 +3046,7 @@ EslSocketOptionSet (
           //
           DEBUG (( DEBUG_OPTION,
                     "ERROR - Sockets does not support this option!\r\n" ));
-          errno = EINVAL;
+          error_num = EINVAL;
           Status = EFI_INVALID_PARAMETER;
           break;
 
@@ -3133,7 +3133,7 @@ EslSocketOptionSet (
           //  Set the option value
           //
           CopyMem ( pOptionData, pOptionValue, LengthInBytes );
-          errno = 0;
+          error_num = 0;
           Status = EFI_SUCCESS;
         }
         else {
@@ -3150,7 +3150,7 @@ EslSocketOptionSet (
   //  Return the operation status
   //
   if ( NULL != pErrno ) {
-    *pErrno = errno;
+    *pErrno = error_num;
   }
   DBG_EXIT_STATUS ( Status );
   return Status;
-- 
2.45.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119948): https://edk2.groups.io/g/devel/message/119948
Mute This Topic: https://groups.io/mt/107267145/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [edk2-devel] [edk2-libc Patch 1/1] edk2-libc: Support for compiling Python UEFI interpreter with VS2022
  2024-07-17  6:59 ` [edk2-devel] [edk2-libc Patch 1/1] edk2-libc: " Jayaprakash, N
@ 2024-07-17 16:09   ` Michael D Kinney
  2024-07-18  4:58     ` Jayaprakash, N
  0 siblings, 1 reply; 7+ messages in thread
From: Michael D Kinney @ 2024-07-17 16:09 UTC (permalink / raw)
  To: Jayaprakash, N, devel@edk2.groups.io; +Cc: Rebecca Cran, Kinney, Michael D

Can you list the compiler errors that are being fixed by this patch?

Mike

> -----Original Message-----
> From: Jayaprakash, N <n.jayaprakash@intel.com>
> Sent: Tuesday, July 16, 2024 11:59 PM
> To: devel@edk2.groups.io
> Cc: Jayaprakash, N <n.jayaprakash@intel.com>; Rebecca Cran
> <rebecca@bsdio.com>; Kinney, Michael D <michael.d.kinney@intel.com>
> Subject: [edk2-libc Patch 1/1] edk2-libc: Support for compiling Python UEFI
> interpreter with VS2022
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4811
> 
> This commit fixes the compilation issues observed with several
> components in the edk2-libc repo while trying to compile Python
> interpreter for UEFI.
> 
> Cc: Rebecca Cran <rebecca@bsdio.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Jayaprakash N <n.jayaprakash@intel.com>
> Signed-off-by: Jayaprakash N <n.jayaprakash@intel.com>
> ---
>  AppPkg/Applications/Enquire/Enquire.c         | 48 +++++------
>  .../OrderedCollectionTest.c                   | 10 +--
>  .../Sockets/DataSource/DataSource.c           | 10 +--
>  AppPkg/Applications/Sockets/OobRx/OobRx.c     |  4 +-
>  .../Applications/Sockets/RawIp4Rx/RawIp4Rx.c  |  4 +-
>  StdLib/BsdSocketLib/getnetbyht.c              |  9 ++-
>  StdLib/BsdSocketLib/ns_print.c                | 57 +++++++------
>  StdLib/EfiSocketLib/Socket.c                  | 80 +++++++++----------
>  8 files changed, 116 insertions(+), 106 deletions(-)
> 
> diff --git a/AppPkg/Applications/Enquire/Enquire.c
> b/AppPkg/Applications/Enquire/Enquire.c
> index 1e1db69..5e34f48 100644
> --- a/AppPkg/Applications/Enquire/Enquire.c
> +++ b/AppPkg/Applications/Enquire/Enquire.c
> @@ -5,7 +5,7 @@
>      Steven Pemberton, CWI, Amsterdam; "Steven.Pemberton@cwi.nl"
>      Used with permission.
> 
> -    Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
> +    Copyright (c) 2010 - 2024, Intel Corporation. All rights reserved.<BR>
>      This program and the accompanying materials
>      are licensed and made available under the terms and conditions of the
> BSD License
>      which accompanies this distribution. The full text of the license may be
> found at
> @@ -918,15 +918,15 @@ memeq(
>  }
> 
>  Void
> -farewell(int bugs)
> +farewell(int bugs_local)
>  {
> -  if (bugs == 0) exit(0);
> +  if (bugs_local == 0) exit(0);
>    printf("\n%sFor hints on dealing with the ", co);
> -  if (bugs == 1) printf("problem");
> -  else printf("%d problems", bugs);
> +  if (bugs_local == 1) printf("problem");
> +  else printf("%d problems", bugs_local);
>    printf(" above\n   see the section 'TROUBLESHOOTING' in the file ");
>    printf("%s%s\n", FILENAME, oc);
> -  exit(bugs);
> +  exit(bugs_local);
>  }
> 
>  /* The program has received a signal where it wasn't expecting one */
> @@ -1927,51 +1927,51 @@ int cprop( void )
> 
>      if (c_signed) {
>  #ifndef NO_UC
> -/* Syntax error? Define NO_UC */ Volatile unsigned char c1, char_max;
> -      c1=0; char_max=0;
> +/* Syntax error? Define NO_UC */ Volatile unsigned char c1, char_max_local;
> +      c1=0; char_max_local=0;
>        c1++;
> -      if (setjmp(lab)==0) { /* Yields char_max */
> -        while (c1>char_max) {
> -          char_max=c1;
> +      if (setjmp(lab)==0) { /* Yields char_max_local */
> +        while (c1>char_max_local) {
> +          char_max_local=c1;
>            c1++;
>          }
>        }
>        Unexpected(4);
>        if (sizeof(char) == sizeof(int)) {
>          u_define(D_UCHAR_MAX, "", "UCHAR", "_MAX",
> -           (ulong) char_max,
> +           (ulong) char_max_local,
>             (ulong) UCHAR_MAX, "");
>        } else {
>          i_define(D_UCHAR_MAX, "", "UCHAR", "_MAX",
> -           (long) char_max, 0L,
> +           (long) char_max_local, 0L,
>             (long) UCHAR_MAX, "");
>        }
>  #endif
>      } else {
>  #ifndef NO_SC
> -/* Syntax error? Define NO_SC */ Volatile signed char c1, char_max,
> char_min;
> -      c1=0; char_max=0;
> +/* Syntax error? Define NO_SC */ Volatile signed char c1, char_max_local,
> char_min_local;
> +      c1=0; char_max_local=0;
>        c1++;
> -      if (setjmp(lab)==0) { /* Yields char_max */
> -        while (c1>char_max) {
> -          char_max=c1;
> +      if (setjmp(lab)==0) { /* Yields char_max_local */
> +        while (c1>char_max_local) {
> +          char_max_local=c1;
>            c1++;
>          }
>        }
> -      c1=0; char_min=0;
> +      c1=0; char_min_local=0;
>        c1--;
> -      if (setjmp(lab)==0) { /* Yields char_min */
> -        while (c1<char_min) {
> -          char_min=c1;
> +      if (setjmp(lab)==0) { /* Yields char_min_local */
> +        while (c1<char_min_local) {
> +          char_min_local=c1;
>            c1--;
>          }
>        }
>        Unexpected(5);
>        i_define(D_SCHAR_MIN, "", "SCHAR", "_MIN",
> -         (long) char_min, (long) maxint,
> +         (long) char_min_local, (long) maxint,
>           (long) SCHAR_MIN, "");
>        i_define(D_SCHAR_MAX, "", "SCHAR", "_MAX",
> -         (long) char_max, 0L,
> +         (long) char_max_local, 0L,
>           (long) SCHAR_MAX, "");
>  #endif /* NO_SC */
>      }
> diff --git
> a/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.c
> b/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.c
> index 712ee8f..ea44b31 100644
> --- a/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.c
> +++ b/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.c
> @@ -7,7 +7,7 @@
>    per default, eg. serial line).
> 
>    Copyright (C) 2014, Red Hat, Inc.
> -  Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2010 - 2024, Intel Corporation. All rights reserved.<BR>
> 
>    SPDX-License-Identifier: BSD-2-Clause-Patent
>  **/
> @@ -458,10 +458,10 @@ SetupInputOutput (
> 
>      case 'h':
>        fprintf (stderr,
> -        "%1$s: simple OrderedCollectionLib tester\n"
> +        "%s: simple OrderedCollectionLib tester\n"
>          "\n"
> -        "Usage: 1. %1$s [-i InputFile] [-o OutputFile]\n"
> -        "       2. %1$s -h\n"
> +        "Usage: 1. %s [-i InputFile] [-o OutputFile]\n"
> +        "       2. %s -h\n"
>          "\n"
>          "Options:\n"
>          "  -i InputFile : read commands from InputFile\n"
> @@ -469,7 +469,7 @@ SetupInputOutput (
>          "  -o OutputFile: write command responses to OutputFile\n"
>          "                 (will write to stdout if absent)\n"
>          "  -h           : print this help and exit\n"
> -        "\n", ArgV[0]);
> +        "\n", ArgV[0], ArgV[0], ArgV[0]);
>        ListCommands ();
>        exit (EXIT_SUCCESS);
> 
> diff --git a/AppPkg/Applications/Sockets/DataSource/DataSource.c
> b/AppPkg/Applications/Sockets/DataSource/DataSource.c
> index 360689e..0ca6a9a 100644
> --- a/AppPkg/Applications/Sockets/DataSource/DataSource.c
> +++ b/AppPkg/Applications/Sockets/DataSource/DataSource.c
> @@ -1,7 +1,7 @@
>  /** @file
>    Data source for network testing.
> 
> -  Copyright (c) 2011-2012, Intel Corporation. All rights reserved.
> +  Copyright (c) 2011-2024, Intel Corporation. All rights reserved.
>    SPDX-License-Identifier: BSD-2-Clause-Patent
> 
>  **/
> @@ -538,7 +538,7 @@ EFI_STATUS
>  SocketSend (
>    )
>  {
> -  size_t BytesSent;
> +  size_t BytesSentLocal;
>    EFI_STATUS Status;
>    EFI_TPL TplPrevious;
> 
> @@ -562,8 +562,8 @@ SocketSend (
>      //
>      //  Send some bytes
>      //
> -    BytesSent = write ( Socket, &Buffer[0], sizeof ( Buffer ));
> -    if ( -1 == BytesSent ) {
> +    BytesSentLocal = write ( Socket, &Buffer[0], sizeof ( Buffer ));
> +    if ( -1 == BytesSentLocal ) {
>        DEBUG (( DEBUG_INFO,
>                  "ERROR: send failed, errno: %d\r\n",
>                  errno ));
> @@ -589,7 +589,7 @@ Status = EFI_NOT_STARTED;
>      //
>      //  Account for the data sent
>      //
> -    TotalBytesSent += BytesSent;
> +    TotalBytesSent += BytesSentLocal;
> 
>      //
>      //  Release the TimerCallback routine synchronization
> diff --git a/AppPkg/Applications/Sockets/OobRx/OobRx.c
> b/AppPkg/Applications/Sockets/OobRx/OobRx.c
> index 28e10d8..af07127 100644
> --- a/AppPkg/Applications/Sockets/OobRx/OobRx.c
> +++ b/AppPkg/Applications/Sockets/OobRx/OobRx.c
> @@ -150,7 +150,7 @@ OobRx (
>              //
>              //  Display the received OOB data
>              //
> -            printf ( "%5Ld OOB bytes received\r\n", (UINT64)BytesReceived );
> +            printf ( "%5llu OOB bytes received\r\n", (UINT64)BytesReceived
> );
> 
>              //
>              //  Account for the bytes received
> @@ -183,7 +183,7 @@ OobRx (
>                //
>                //  Display the received data
>                //
> -              printf ( "%4Ld bytes received\r\n", (UINT64)BytesReceived );
> +              printf ( "%4llu bytes received\r\n", (UINT64)BytesReceived );
> 
>                //
>                //  Account for the bytes received
> diff --git a/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
> b/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
> index b52cd38..b190b44 100644
> --- a/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
> +++ b/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
> @@ -1,7 +1,7 @@
>  /** @file
>    Raw IP4 receive application
> 
> -  Copyright (c) 2011-2012, Intel Corporation. All rights reserved.
> +  Copyright (c) 2011-2024, Intel Corporation. All rights reserved.
>    SPDX-License-Identifier: BSD-2-Clause-Patent
> 
>  **/
> @@ -157,7 +157,7 @@ RawIp4Rx (
>          //  Display the bytes received
>          //
>          if ( 0 == RetVal ) {
> -          printf ( "Total Bytes Received:  %Ld\r\n", TotalBytesReceived );
> +          printf ( "Total Bytes Received:  %llu\r\n", TotalBytesReceived );
>          }
> 
>          //
> diff --git a/StdLib/BsdSocketLib/getnetbyht.c
> b/StdLib/BsdSocketLib/getnetbyht.c
> index 08b8042..5907d44 100644
> --- a/StdLib/BsdSocketLib/getnetbyht.c
> +++ b/StdLib/BsdSocketLib/getnetbyht.c
> @@ -41,6 +41,11 @@
>   * from getnetent.c	1.1 (Coimbra) 93/06/02
>   */
> 
> +/*
> + * Copyright (c) 2024, Intel Corporation. All rights reserved.
> + * SPDX-License-Identifier: BSD-2-Clause-Patent
> + */
> +
>  #if defined(LIBC_SCCS) && !defined(lint)
>  static char sccsid[] = "@(#)getnetent.c	8.1 (Berkeley) 6/4/93";
>  static char orig_rcsid[] = "From: Id: getnetent.c,v 8.4 1997/06/01 20:34:37
> vixie Exp";
> @@ -155,13 +160,13 @@ found:
>  }
> 
>  struct netent *
> -_getnetbyhtaddr(register unsigned long net, register int type)
> +_getnetbyhtaddr(register unsigned long net_local, register int type)
>  {
>  	register struct netent *p;
> 
>  	setnetent(_net_stayopen);
>  	while ( NULL != (p = getnetent()) )
> -		if (p->n_addrtype == type && p->n_net == net)
> +        if (p->n_addrtype == type && p->n_net == net_local)
>  			break;
>  	if (!_net_stayopen)
>  		endnetent();
> diff --git a/StdLib/BsdSocketLib/ns_print.c b/StdLib/BsdSocketLib/ns_print.c
> index ea29d01..fb19bf9 100644
> --- a/StdLib/BsdSocketLib/ns_print.c
> +++ b/StdLib/BsdSocketLib/ns_print.c
> @@ -55,6 +55,11 @@
>   *
>   */
> 
> +/*
> + * Copyright (c) 2024, Intel Corporation. All rights reserved.
> + * SPDX-License-Identifier: BSD-2-Clause-Patent
> + */
> +
>  /* Import. */
> 
>  #include <sys/types.h>
> @@ -211,7 +216,7 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
>      break;
> 
>    case ns_t_soa: {
> -    u_long t;
> +    u_long t_local;
> 
>      /* Server name. */
>      T(addname(msg, msglen, &rdata, origin, &buf, &buflen));
> @@ -226,45 +231,45 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
>        goto formerr;
> 
>      /* Serial number. */
> -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
>      T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> -    len = SPRINTF((tmp, "%lu", (unsigned long)t));
> +    len = SPRINTF((tmp, "%lu", (unsigned long)t_local));
>      T(addstr(tmp, len, &buf, &buflen));
>      T(spaced = addtab(len, 16, spaced, &buf, &buflen));
>      T(addstr("; serial\n", 9, &buf, &buflen));
>      spaced = 0;
> 
>      /* Refresh interval. */
> -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
>      T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> -    T(len = ns_format_ttl(t, buf, buflen));
> +    T(len = ns_format_ttl(t_local, buf, buflen));
>      addlen(len, &buf, &buflen);
>      T(spaced = addtab(len, 16, spaced, &buf, &buflen));
>      T(addstr("; refresh\n", 10, &buf, &buflen));
>      spaced = 0;
> 
>      /* Retry interval. */
> -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
>      T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> -    T(len = ns_format_ttl(t, buf, buflen));
> +    T(len = ns_format_ttl(t_local, buf, buflen));
>      addlen(len, &buf, &buflen);
>      T(spaced = addtab(len, 16, spaced, &buf, &buflen));
>      T(addstr("; retry\n", 8, &buf, &buflen));
>      spaced = 0;
> 
>      /* Expiry. */
> -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
>      T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> -    T(len = ns_format_ttl(t, buf, buflen));
> +    T(len = ns_format_ttl(t_local, buf, buflen));
>      addlen(len, &buf, &buflen);
>      T(spaced = addtab(len, 16, spaced, &buf, &buflen));
>      T(addstr("; expiry\n", 9, &buf, &buflen));
>      spaced = 0;
> 
>      /* Minimum TTL. */
> -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
>      T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> -    T(len = ns_format_ttl(t, buf, buflen));
> +    T(len = ns_format_ttl(t_local, buf, buflen));
>      addlen(len, &buf, &buflen);
>      T(addstr(" )", 2, &buf, &buflen));
>      T(spaced = addtab(len, 16, spaced, &buf, &buflen));
> @@ -276,15 +281,15 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
>    case ns_t_mx:
>    case ns_t_afsdb:
>    case ns_t_rt: {
> -    u_int t;
> +    u_int t_local;
> 
>      if (rdlen < NS_INT16SZ)
>        goto formerr;
> 
>      /* Priority. */
> -    t = ns_get16(rdata);
> +    t_local = ns_get16(rdata);
>      rdata += NS_INT16SZ;
> -    len = SPRINTF((tmp, "%u ", (unsigned int)t));
> +    len = SPRINTF((tmp, "%u ", (unsigned int)t_local));
>      T(addstr(tmp, len, &buf, &buflen));
> 
>      /* Target. */
> @@ -294,15 +299,15 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
>        }
> 
>    case ns_t_px: {
> -    u_int t;
> +    u_int t_local;
> 
>      if (rdlen < NS_INT16SZ)
>        goto formerr;
> 
>      /* Priority. */
> -    t = ns_get16(rdata);
> +    t_local = ns_get16(rdata);
>      rdata += NS_INT16SZ;
> -    len = SPRINTF((tmp, "%u ", (unsigned int)t));
> +    len = SPRINTF((tmp, "%u ", (unsigned int)t_local));
>      T(addstr(tmp, len, &buf, &buflen));
> 
>      /* Name1. */
> @@ -503,33 +508,33 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
>        }
> 
>    case ns_t_sig: {
> -    u_int type, algorithm, labels, footprint;
> +    u_int type_local, algorithm, labels, footprint;
>      const char *leader;
> -    u_long t;
> +    u_long t_local;
>      int n;
> 
>      if (rdlen < 22)
>        goto formerr;
> 
>      /* Type covered, Algorithm, Label count, Original TTL. */
> -          type = ns_get16(rdata);  rdata += NS_INT16SZ;
> +          type_local = ns_get16(rdata);  rdata += NS_INT16SZ;
>      algorithm = *rdata++;
>      labels = *rdata++;
> -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
>      len = SPRINTF((tmp, " %s %d %lu ",
> -                   p_type((int)type), (int)algorithm, (unsigned long)t));
> +                   p_type((int)type_local), (int)algorithm, (unsigned
> long)t_local));
>      T(addstr(tmp, len, &buf, &buflen));
>      if (labels != (u_int)dn_count_labels(name))
>        goto formerr;
> 
>      /* Signature expiry. */
> -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> -    len = SPRINTF((tmp, "%s ", p_secstodate(t)));
> +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> +    len = SPRINTF((tmp, "%s ", p_secstodate(t_local)));
>      T(addstr(tmp, len, &buf, &buflen));
> 
>      /* Time signed. */
> -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> -    len = SPRINTF((tmp, "%s ", p_secstodate(t)));
> +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> +    len = SPRINTF((tmp, "%s ", p_secstodate(t_local)));
>      T(addstr(tmp, len, &buf, &buflen));
> 
>      /* Signature Footprint. */
> diff --git a/StdLib/EfiSocketLib/Socket.c b/StdLib/EfiSocketLib/Socket.c
> index ee15b62..5f91744 100644
> --- a/StdLib/EfiSocketLib/Socket.c
> +++ b/StdLib/EfiSocketLib/Socket.c
> @@ -5,7 +5,7 @@
>    * Bound - pSocket->PortList is not NULL
>    * Listen - AcceptWait event is not NULL
> 
> -  Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2010 - 2024, Intel Corporation. All rights reserved.<BR>
>    SPDX-License-Identifier: BSD-2-Clause-Patent
> 
> 
> @@ -570,7 +570,7 @@ EslSocket (
>    int ApiArraySize;
>    ESL_SOCKET * pSocket;
>    EFI_STATUS Status;
> -  int errno;
> +  int error_num;
> 
>    DBG_ENTER ( );
> 
> @@ -583,7 +583,7 @@ EslSocket (
>    }
> 
>    //  Assume success
> -  errno = 0;
> +  error_num = 0;
>    Status = EFI_SUCCESS;
> 
>    //  Use break instead of goto
> @@ -595,7 +595,7 @@ EslSocket (
>        DEBUG (( DEBUG_ERROR | DEBUG_SOCKET,
>                  "ERROR - Invalid domain value\r\n" ));
>        Status = EFI_INVALID_PARAMETER;
> -      errno = EAFNOSUPPORT;
> +      error_num = EAFNOSUPPORT;
>        break;
>      }
> 
> @@ -625,7 +625,7 @@ EslSocket (
>                  "ERROR - Invalid type value\r\n" ));
>        //  The socket type is not supported
>        Status = EFI_INVALID_PARAMETER;
> -      errno = EPROTOTYPE;
> +      error_num = EPROTOTYPE;
>        break;
>      }
> 
> @@ -665,15 +665,15 @@ EslSocket (
>        if ( ppApiArrayEnd <= ppApiArray ) {
>          DEBUG (( DEBUG_ERROR | DEBUG_SOCKET,
>                    "ERROR - The protocol is not supported!\r\n" ));
> -        errno = EPROTONOSUPPORT;
> +        error_num = EPROTONOSUPPORT;
>          break;
>        }
> 
>        //  The driver does not support this protocol
>        DEBUG (( DEBUG_ERROR | DEBUG_SOCKET,
>                  "ERROR - The protocol does not support this socket
> type!\r\n" ));
> -      errno = EPROTONOSUPPORT;
> -      errno = EPROTOTYPE;
> +      error_num = EPROTONOSUPPORT;
> +      error_num = EPROTOTYPE;
>        break;
>      }
>      //  Save the socket attributes
> @@ -687,7 +687,7 @@ EslSocket (
>    }
>    //  Return the operation status
>    if ( NULL != pErrno ) {
> -    *pErrno = errno;
> +    *pErrno = error_num;
>    }
>    DBG_EXIT_STATUS ( Status );
>    return Status;
> @@ -1334,7 +1334,7 @@ EslSocketClosePoll (
>    IN int * pErrno
>    )
>  {
> -  int errno;
> +  int error_num;
>    ESL_LAYER * pLayer;
>    ESL_SOCKET * pNextSocket;
>    ESL_SOCKET * pSocket;
> @@ -1346,7 +1346,7 @@ EslSocketClosePoll (
>    //
>    //  Assume success
>    //
> -  errno = 0;
> +  error_num = 0;
>    Status = EFI_SUCCESS;
> 
>    //
> @@ -1401,7 +1401,7 @@ EslSocketClosePoll (
>            //  At least one port is still open
>            //
>            Status = EFI_NOT_READY;
> -          errno = EAGAIN;
> +          error_num = EAGAIN;
>          }
>        }
>        else {
> @@ -1409,7 +1409,7 @@ EslSocketClosePoll (
>          //  SocketCloseStart was not called
>          //
>          Status = EFI_NOT_STARTED;
> -        errno = EPERM;
> +        error_num = EPERM;
>        }
>        break;
>      }
> @@ -1428,7 +1428,7 @@ EslSocketClosePoll (
>      //  Socket not found
>      //
>      Status = EFI_NOT_FOUND;
> -    errno = ENOTSOCK;
> +    error_num = ENOTSOCK;
>    }
> 
>    //
> @@ -1440,7 +1440,7 @@ EslSocketClosePoll (
>    //  Return the operation status
>    //
>    if ( NULL != pErrno ) {
> -    *pErrno = errno;
> +    *pErrno = error_num;
>    }
>    DBG_EXIT_STATUS ( Status );
>    return Status;
> @@ -1477,7 +1477,7 @@ EslSocketCloseStart (
>    IN int * pErrno
>    )
>  {
> -  int errno;
> +  int error_num;
>    ESL_PORT * pNextPort;
>    ESL_PORT * pPort;
>    ESL_SOCKET * pSocket;
> @@ -1490,7 +1490,7 @@ EslSocketCloseStart (
>    //  Assume success
>    //
>    Status = EFI_SUCCESS;
> -  errno = 0;
> +  error_num = 0;
> 
>    //
>    //  Synchronize with the socket layer
> @@ -1521,7 +1521,7 @@ EslSocketCloseStart (
>                                           DEBUG_CLOSE | DEBUG_LISTEN |
> DEBUG_CONNECTION );
>        if (( EFI_SUCCESS != Status )
>          && ( EFI_NOT_READY != Status )) {
> -        errno = EIO;
> +        error_num = EIO;
>          break;
>        }
> 
> @@ -1535,12 +1535,12 @@ EslSocketCloseStart (
>      //  Attempt to finish closing the socket
>      //
>      if ( NULL == pPort ) {
> -      Status = EslSocketClosePoll ( pSocketProtocol, &errno );
> +      Status = EslSocketClosePoll ( pSocketProtocol, &error_num );
>      }
>    }
>    else {
>      Status = EFI_NOT_READY;
> -    errno = EAGAIN;
> +    error_num = EAGAIN;
>    }
> 
>    //
> @@ -1552,7 +1552,7 @@ EslSocketCloseStart (
>    //  Return the operation status
>    //
>    if ( NULL != pErrno ) {
> -    *pErrno = errno;
> +    *pErrno = error_num;
>    }
>    DBG_EXIT_STATUS ( Status );
>    return Status;
> @@ -1889,7 +1889,7 @@ EslSocketFree (
>    )
>  {
>    EFI_HANDLE ChildHandle;
> -  int errno;
> +  int error_num;
>    ESL_LAYER * pLayer;
>    ESL_SOCKET * pSocket;
>    ESL_SOCKET * pSocketPrevious;
> @@ -1901,7 +1901,7 @@ EslSocketFree (
>    //
>    //  Assume failure
>    //
> -  errno = EIO;
> +  error_num = EIO;
>    pSocket = NULL;
>    Status = EFI_INVALID_PARAMETER;
> 
> @@ -1986,7 +1986,7 @@ EslSocketFree (
>                      "0x%08x: Free pSocket, %d bytes\r\n",
>                      pSocket,
>                      sizeof ( *pSocket )));
> -          errno = 0;
> +          error_num = 0;
>          }
>          else {
>            DEBUG (( DEBUG_ERROR | DEBUG_POOL,
> @@ -2014,10 +2014,10 @@ EslSocketFree (
>    }
> 
>    //
> -  //  Return the errno value if possible
> +  //  Return the error_num value if possible
>    //
>    if ( NULL != pErrno ) {
> -    *pErrno = errno;
> +    *pErrno = error_num;
>    }
> 
>    //
> @@ -2751,7 +2751,7 @@ EslSocketOptionGet (
>    IN int * pErrno
>    )
>  {
> -  int errno;
> +  int error_num;
>    socklen_t LengthInBytes;
>    socklen_t MaxBytes;
>    CONST UINT8 * pOptionData;
> @@ -2763,7 +2763,7 @@ EslSocketOptionGet (
>    //
>    //  Assume failure
>    //
> -  errno = EINVAL;
> +  error_num = EINVAL;
>    Status = EFI_INVALID_PARAMETER;
> 
>    //
> @@ -2795,7 +2795,7 @@ EslSocketOptionGet (
>                                                   OptionName,
>                                                   (CONST void **
> __restrict)&pOptionData,
>                                                   &LengthInBytes );
> -          errno = pSocket->errno;
> +          error_num = pSocket->errno;
>            break;
>          }
>          else {
> @@ -2814,7 +2814,7 @@ EslSocketOptionGet (
>                    "ERROR - %a does not support any options!\r\n",
>                    pSocket->pApi->pName ));
>        }
> -      errno = ENOPROTOOPT;
> +      error_num = ENOPROTOOPT;
>        Status = EFI_INVALID_PARAMETER;
>        break;
> 
> @@ -2825,7 +2825,7 @@ EslSocketOptionGet (
>          //  Socket option not supported
>          //
>          DEBUG (( DEBUG_INFO | DEBUG_OPTION, "ERROR - Invalid socket
> option!\r\n" ));
> -        errno = EINVAL;
> +        error_num = EINVAL;
>          Status = EFI_INVALID_PARAMETER;
>          break;
> 
> @@ -2927,7 +2927,7 @@ EslSocketOptionGet (
>        if ( LengthInBytes < MaxBytes ) {
>          ZeroMem ( &((UINT8 *)pOptionValue)[LengthInBytes], MaxBytes -
> LengthInBytes );
>        }
> -      errno = 0;
> +      error_num = 0;
>        Status = EFI_SUCCESS;
>      }
>    }
> @@ -2936,7 +2936,7 @@ EslSocketOptionGet (
>    //  Return the operation status
>    //
>    if ( NULL != pErrno ) {
> -    *pErrno = errno;
> +    *pErrno = error_num;
>    }
>    DBG_EXIT_STATUS ( Status );
>    return Status;
> @@ -2971,7 +2971,7 @@ EslSocketOptionSet (
>    )
>  {
>    BOOLEAN bTrueFalse;
> -  int errno;
> +  int error_num;
>    socklen_t LengthInBytes;
>    UINT8 * pOptionData;
>    ESL_SOCKET * pSocket;
> @@ -2982,7 +2982,7 @@ EslSocketOptionSet (
>    //
>    //  Assume failure
>    //
> -  errno = EINVAL;
> +  error_num = EINVAL;
>    Status = EFI_INVALID_PARAMETER;
> 
>    //
> @@ -3015,7 +3015,7 @@ EslSocketOptionSet (
>                                                     OptionName,
>                                                     pOptionValue,
>                                                     OptionLength );
> -            errno = pSocket->errno;
> +            error_num = pSocket->errno;
>              break;
>            }
>            else {
> @@ -3034,7 +3034,7 @@ EslSocketOptionSet (
>                      "ERROR - %a does not support any options!\r\n",
>                      pSocket->pApi->pName ));
>          }
> -        errno = ENOPROTOOPT;
> +        error_num = ENOPROTOOPT;
>          Status = EFI_INVALID_PARAMETER;
>          break;
> 
> @@ -3046,7 +3046,7 @@ EslSocketOptionSet (
>            //
>            DEBUG (( DEBUG_OPTION,
>                      "ERROR - Sockets does not support this option!\r\n" ));
> -          errno = EINVAL;
> +          error_num = EINVAL;
>            Status = EFI_INVALID_PARAMETER;
>            break;
> 
> @@ -3133,7 +3133,7 @@ EslSocketOptionSet (
>            //  Set the option value
>            //
>            CopyMem ( pOptionData, pOptionValue, LengthInBytes );
> -          errno = 0;
> +          error_num = 0;
>            Status = EFI_SUCCESS;
>          }
>          else {
> @@ -3150,7 +3150,7 @@ EslSocketOptionSet (
>    //  Return the operation status
>    //
>    if ( NULL != pErrno ) {
> -    *pErrno = errno;
> +    *pErrno = error_num;
>    }
>    DBG_EXIT_STATUS ( Status );
>    return Status;
> --
> 2.45.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119954): https://edk2.groups.io/g/devel/message/119954
Mute This Topic: https://groups.io/mt/107267145/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [edk2-devel] [edk2-libc Patch 1/1] edk2-libc: Support for compiling Python UEFI interpreter with VS2022
  2024-07-17 16:09   ` Michael D Kinney
@ 2024-07-18  4:58     ` Jayaprakash, N
  2024-07-18 15:44       ` Michael D Kinney
  0 siblings, 1 reply; 7+ messages in thread
From: Jayaprakash, N @ 2024-07-18  4:58 UTC (permalink / raw)
  To: Kinney, Michael D, devel@edk2.groups.io; +Cc: Rebecca Cran

Hi Mike,

It's a big list of warnings treated as errors in VS2022.
So, I have captured all these compilation issues in the BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4811

GitHub actions with VS2019 and GCC building successfully post these fixes in my fork of edk2-libc.
VS2019 Github action: https://github.com/jpshivakavi/edk2-libc-jp/actions/runs/9969663166
GCC github action: https://github.com/jpshivakavi/edk2-libc-jp/actions/runs/9969663158

I have also verified the builds with VS2022  in my local workspace. 

Regards,
JP
-----Original Message-----
From: Kinney, Michael D <michael.d.kinney@intel.com> 
Sent: Wednesday, July 17, 2024 9:40 PM
To: Jayaprakash, N <n.jayaprakash@intel.com>; devel@edk2.groups.io
Cc: Rebecca Cran <rebecca@bsdio.com>; Kinney, Michael D <michael.d.kinney@intel.com>
Subject: RE: [edk2-libc Patch 1/1] edk2-libc: Support for compiling Python UEFI interpreter with VS2022

Can you list the compiler errors that are being fixed by this patch?

Mike

> -----Original Message-----
> From: Jayaprakash, N <n.jayaprakash@intel.com>
> Sent: Tuesday, July 16, 2024 11:59 PM
> To: devel@edk2.groups.io
> Cc: Jayaprakash, N <n.jayaprakash@intel.com>; Rebecca Cran 
> <rebecca@bsdio.com>; Kinney, Michael D <michael.d.kinney@intel.com>
> Subject: [edk2-libc Patch 1/1] edk2-libc: Support for compiling Python 
> UEFI interpreter with VS2022
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4811
> 
> This commit fixes the compilation issues observed with several 
> components in the edk2-libc repo while trying to compile Python 
> interpreter for UEFI.
> 
> Cc: Rebecca Cran <rebecca@bsdio.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Jayaprakash N <n.jayaprakash@intel.com>
> Signed-off-by: Jayaprakash N <n.jayaprakash@intel.com>
> ---
>  AppPkg/Applications/Enquire/Enquire.c         | 48 +++++------
>  .../OrderedCollectionTest.c                   | 10 +--
>  .../Sockets/DataSource/DataSource.c           | 10 +--
>  AppPkg/Applications/Sockets/OobRx/OobRx.c     |  4 +-
>  .../Applications/Sockets/RawIp4Rx/RawIp4Rx.c  |  4 +-
>  StdLib/BsdSocketLib/getnetbyht.c              |  9 ++-
>  StdLib/BsdSocketLib/ns_print.c                | 57 +++++++------
>  StdLib/EfiSocketLib/Socket.c                  | 80 +++++++++----------
>  8 files changed, 116 insertions(+), 106 deletions(-)
> 
> diff --git a/AppPkg/Applications/Enquire/Enquire.c
> b/AppPkg/Applications/Enquire/Enquire.c
> index 1e1db69..5e34f48 100644
> --- a/AppPkg/Applications/Enquire/Enquire.c
> +++ b/AppPkg/Applications/Enquire/Enquire.c
> @@ -5,7 +5,7 @@
>      Steven Pemberton, CWI, Amsterdam; "Steven.Pemberton@cwi.nl"
>      Used with permission.
> 
> -    Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
> +    Copyright (c) 2010 - 2024, Intel Corporation. All rights 
> + reserved.<BR>
>      This program and the accompanying materials
>      are licensed and made available under the terms and conditions of 
> the BSD License
>      which accompanies this distribution. The full text of the license 
> may be found at @@ -918,15 +918,15 @@ memeq(  }
> 
>  Void
> -farewell(int bugs)
> +farewell(int bugs_local)
>  {
> -  if (bugs == 0) exit(0);
> +  if (bugs_local == 0) exit(0);
>    printf("\n%sFor hints on dealing with the ", co);
> -  if (bugs == 1) printf("problem");
> -  else printf("%d problems", bugs);
> +  if (bugs_local == 1) printf("problem");  else printf("%d problems", 
> + bugs_local);
>    printf(" above\n   see the section 'TROUBLESHOOTING' in the file ");
>    printf("%s%s\n", FILENAME, oc);
> -  exit(bugs);
> +  exit(bugs_local);
>  }
> 
>  /* The program has received a signal where it wasn't expecting one */ 
> @@ -1927,51 +1927,51 @@ int cprop( void )
> 
>      if (c_signed) {
>  #ifndef NO_UC
> -/* Syntax error? Define NO_UC */ Volatile unsigned char c1, char_max;
> -      c1=0; char_max=0;
> +/* Syntax error? Define NO_UC */ Volatile unsigned char c1, char_max_local;
> +      c1=0; char_max_local=0;
>        c1++;
> -      if (setjmp(lab)==0) { /* Yields char_max */
> -        while (c1>char_max) {
> -          char_max=c1;
> +      if (setjmp(lab)==0) { /* Yields char_max_local */
> +        while (c1>char_max_local) {
> +          char_max_local=c1;
>            c1++;
>          }
>        }
>        Unexpected(4);
>        if (sizeof(char) == sizeof(int)) {
>          u_define(D_UCHAR_MAX, "", "UCHAR", "_MAX",
> -           (ulong) char_max,
> +           (ulong) char_max_local,
>             (ulong) UCHAR_MAX, "");
>        } else {
>          i_define(D_UCHAR_MAX, "", "UCHAR", "_MAX",
> -           (long) char_max, 0L,
> +           (long) char_max_local, 0L,
>             (long) UCHAR_MAX, "");
>        }
>  #endif
>      } else {
>  #ifndef NO_SC
> -/* Syntax error? Define NO_SC */ Volatile signed char c1, char_max, 
> char_min;
> -      c1=0; char_max=0;
> +/* Syntax error? Define NO_SC */ Volatile signed char c1, 
> +char_max_local,
> char_min_local;
> +      c1=0; char_max_local=0;
>        c1++;
> -      if (setjmp(lab)==0) { /* Yields char_max */
> -        while (c1>char_max) {
> -          char_max=c1;
> +      if (setjmp(lab)==0) { /* Yields char_max_local */
> +        while (c1>char_max_local) {
> +          char_max_local=c1;
>            c1++;
>          }
>        }
> -      c1=0; char_min=0;
> +      c1=0; char_min_local=0;
>        c1--;
> -      if (setjmp(lab)==0) { /* Yields char_min */
> -        while (c1<char_min) {
> -          char_min=c1;
> +      if (setjmp(lab)==0) { /* Yields char_min_local */
> +        while (c1<char_min_local) {
> +          char_min_local=c1;
>            c1--;
>          }
>        }
>        Unexpected(5);
>        i_define(D_SCHAR_MIN, "", "SCHAR", "_MIN",
> -         (long) char_min, (long) maxint,
> +         (long) char_min_local, (long) maxint,
>           (long) SCHAR_MIN, "");
>        i_define(D_SCHAR_MAX, "", "SCHAR", "_MAX",
> -         (long) char_max, 0L,
> +         (long) char_max_local, 0L,
>           (long) SCHAR_MAX, "");
>  #endif /* NO_SC */
>      }
> diff --git
> a/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.c
> b/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.c
> index 712ee8f..ea44b31 100644
> --- 
> a/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.c
> +++ b/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.
> +++ c
> @@ -7,7 +7,7 @@
>    per default, eg. serial line).
> 
>    Copyright (C) 2014, Red Hat, Inc.
> -  Copyright (c) 2010 - 2011, Intel Corporation. All rights 
> reserved.<BR>
> +  Copyright (c) 2010 - 2024, Intel Corporation. All rights 
> + reserved.<BR>
> 
>    SPDX-License-Identifier: BSD-2-Clause-Patent  **/ @@ -458,10 
> +458,10 @@ SetupInputOutput (
> 
>      case 'h':
>        fprintf (stderr,
> -        "%1$s: simple OrderedCollectionLib tester\n"
> +        "%s: simple OrderedCollectionLib tester\n"
>          "\n"
> -        "Usage: 1. %1$s [-i InputFile] [-o OutputFile]\n"
> -        "       2. %1$s -h\n"
> +        "Usage: 1. %s [-i InputFile] [-o OutputFile]\n"
> +        "       2. %s -h\n"
>          "\n"
>          "Options:\n"
>          "  -i InputFile : read commands from InputFile\n"
> @@ -469,7 +469,7 @@ SetupInputOutput (
>          "  -o OutputFile: write command responses to OutputFile\n"
>          "                 (will write to stdout if absent)\n"
>          "  -h           : print this help and exit\n"
> -        "\n", ArgV[0]);
> +        "\n", ArgV[0], ArgV[0], ArgV[0]);
>        ListCommands ();
>        exit (EXIT_SUCCESS);
> 
> diff --git a/AppPkg/Applications/Sockets/DataSource/DataSource.c
> b/AppPkg/Applications/Sockets/DataSource/DataSource.c
> index 360689e..0ca6a9a 100644
> --- a/AppPkg/Applications/Sockets/DataSource/DataSource.c
> +++ b/AppPkg/Applications/Sockets/DataSource/DataSource.c
> @@ -1,7 +1,7 @@
>  /** @file
>    Data source for network testing.
> 
> -  Copyright (c) 2011-2012, Intel Corporation. All rights reserved.
> +  Copyright (c) 2011-2024, Intel Corporation. All rights reserved.
>    SPDX-License-Identifier: BSD-2-Clause-Patent
> 
>  **/
> @@ -538,7 +538,7 @@ EFI_STATUS
>  SocketSend (
>    )
>  {
> -  size_t BytesSent;
> +  size_t BytesSentLocal;
>    EFI_STATUS Status;
>    EFI_TPL TplPrevious;
> 
> @@ -562,8 +562,8 @@ SocketSend (
>      //
>      //  Send some bytes
>      //
> -    BytesSent = write ( Socket, &Buffer[0], sizeof ( Buffer ));
> -    if ( -1 == BytesSent ) {
> +    BytesSentLocal = write ( Socket, &Buffer[0], sizeof ( Buffer ));
> +    if ( -1 == BytesSentLocal ) {
>        DEBUG (( DEBUG_INFO,
>                  "ERROR: send failed, errno: %d\r\n",
>                  errno ));
> @@ -589,7 +589,7 @@ Status = EFI_NOT_STARTED;
>      //
>      //  Account for the data sent
>      //
> -    TotalBytesSent += BytesSent;
> +    TotalBytesSent += BytesSentLocal;
> 
>      //
>      //  Release the TimerCallback routine synchronization diff --git 
> a/AppPkg/Applications/Sockets/OobRx/OobRx.c
> b/AppPkg/Applications/Sockets/OobRx/OobRx.c
> index 28e10d8..af07127 100644
> --- a/AppPkg/Applications/Sockets/OobRx/OobRx.c
> +++ b/AppPkg/Applications/Sockets/OobRx/OobRx.c
> @@ -150,7 +150,7 @@ OobRx (
>              //
>              //  Display the received OOB data
>              //
> -            printf ( "%5Ld OOB bytes received\r\n", (UINT64)BytesReceived );
> +            printf ( "%5llu OOB bytes received\r\n", 
> + (UINT64)BytesReceived
> );
> 
>              //
>              //  Account for the bytes received @@ -183,7 +183,7 @@ 
> OobRx (
>                //
>                //  Display the received data
>                //
> -              printf ( "%4Ld bytes received\r\n", (UINT64)BytesReceived );
> +              printf ( "%4llu bytes received\r\n", 
> + (UINT64)BytesReceived );
> 
>                //
>                //  Account for the bytes received diff --git 
> a/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
> b/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
> index b52cd38..b190b44 100644
> --- a/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
> +++ b/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
> @@ -1,7 +1,7 @@
>  /** @file
>    Raw IP4 receive application
> 
> -  Copyright (c) 2011-2012, Intel Corporation. All rights reserved.
> +  Copyright (c) 2011-2024, Intel Corporation. All rights reserved.
>    SPDX-License-Identifier: BSD-2-Clause-Patent
> 
>  **/
> @@ -157,7 +157,7 @@ RawIp4Rx (
>          //  Display the bytes received
>          //
>          if ( 0 == RetVal ) {
> -          printf ( "Total Bytes Received:  %Ld\r\n", TotalBytesReceived );
> +          printf ( "Total Bytes Received:  %llu\r\n", 
> + TotalBytesReceived );
>          }
> 
>          //
> diff --git a/StdLib/BsdSocketLib/getnetbyht.c
> b/StdLib/BsdSocketLib/getnetbyht.c
> index 08b8042..5907d44 100644
> --- a/StdLib/BsdSocketLib/getnetbyht.c
> +++ b/StdLib/BsdSocketLib/getnetbyht.c
> @@ -41,6 +41,11 @@
>   * from getnetent.c	1.1 (Coimbra) 93/06/02
>   */
> 
> +/*
> + * Copyright (c) 2024, Intel Corporation. All rights reserved.
> + * SPDX-License-Identifier: BSD-2-Clause-Patent  */
> +
>  #if defined(LIBC_SCCS) && !defined(lint)
>  static char sccsid[] = "@(#)getnetent.c	8.1 (Berkeley) 6/4/93";
>  static char orig_rcsid[] = "From: Id: getnetent.c,v 8.4 1997/06/01 
> 20:34:37 vixie Exp"; @@ -155,13 +160,13 @@ found:
>  }
> 
>  struct netent *
> -_getnetbyhtaddr(register unsigned long net, register int type)
> +_getnetbyhtaddr(register unsigned long net_local, register int type)
>  {
>  	register struct netent *p;
> 
>  	setnetent(_net_stayopen);
>  	while ( NULL != (p = getnetent()) )
> -		if (p->n_addrtype == type && p->n_net == net)
> +        if (p->n_addrtype == type && p->n_net == net_local)
>  			break;
>  	if (!_net_stayopen)
>  		endnetent();
> diff --git a/StdLib/BsdSocketLib/ns_print.c 
> b/StdLib/BsdSocketLib/ns_print.c index ea29d01..fb19bf9 100644
> --- a/StdLib/BsdSocketLib/ns_print.c
> +++ b/StdLib/BsdSocketLib/ns_print.c
> @@ -55,6 +55,11 @@
>   *
>   */
> 
> +/*
> + * Copyright (c) 2024, Intel Corporation. All rights reserved.
> + * SPDX-License-Identifier: BSD-2-Clause-Patent  */
> +
>  /* Import. */
> 
>  #include <sys/types.h>
> @@ -211,7 +216,7 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
>      break;
> 
>    case ns_t_soa: {
> -    u_long t;
> +    u_long t_local;
> 
>      /* Server name. */
>      T(addname(msg, msglen, &rdata, origin, &buf, &buflen)); @@ 
> -226,45 +231,45 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
>        goto formerr;
> 
>      /* Serial number. */
> -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
>      T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> -    len = SPRINTF((tmp, "%lu", (unsigned long)t));
> +    len = SPRINTF((tmp, "%lu", (unsigned long)t_local));
>      T(addstr(tmp, len, &buf, &buflen));
>      T(spaced = addtab(len, 16, spaced, &buf, &buflen));
>      T(addstr("; serial\n", 9, &buf, &buflen));
>      spaced = 0;
> 
>      /* Refresh interval. */
> -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
>      T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> -    T(len = ns_format_ttl(t, buf, buflen));
> +    T(len = ns_format_ttl(t_local, buf, buflen));
>      addlen(len, &buf, &buflen);
>      T(spaced = addtab(len, 16, spaced, &buf, &buflen));
>      T(addstr("; refresh\n", 10, &buf, &buflen));
>      spaced = 0;
> 
>      /* Retry interval. */
> -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
>      T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> -    T(len = ns_format_ttl(t, buf, buflen));
> +    T(len = ns_format_ttl(t_local, buf, buflen));
>      addlen(len, &buf, &buflen);
>      T(spaced = addtab(len, 16, spaced, &buf, &buflen));
>      T(addstr("; retry\n", 8, &buf, &buflen));
>      spaced = 0;
> 
>      /* Expiry. */
> -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
>      T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> -    T(len = ns_format_ttl(t, buf, buflen));
> +    T(len = ns_format_ttl(t_local, buf, buflen));
>      addlen(len, &buf, &buflen);
>      T(spaced = addtab(len, 16, spaced, &buf, &buflen));
>      T(addstr("; expiry\n", 9, &buf, &buflen));
>      spaced = 0;
> 
>      /* Minimum TTL. */
> -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
>      T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> -    T(len = ns_format_ttl(t, buf, buflen));
> +    T(len = ns_format_ttl(t_local, buf, buflen));
>      addlen(len, &buf, &buflen);
>      T(addstr(" )", 2, &buf, &buflen));
>      T(spaced = addtab(len, 16, spaced, &buf, &buflen)); @@ -276,15 
> +281,15 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
>    case ns_t_mx:
>    case ns_t_afsdb:
>    case ns_t_rt: {
> -    u_int t;
> +    u_int t_local;
> 
>      if (rdlen < NS_INT16SZ)
>        goto formerr;
> 
>      /* Priority. */
> -    t = ns_get16(rdata);
> +    t_local = ns_get16(rdata);
>      rdata += NS_INT16SZ;
> -    len = SPRINTF((tmp, "%u ", (unsigned int)t));
> +    len = SPRINTF((tmp, "%u ", (unsigned int)t_local));
>      T(addstr(tmp, len, &buf, &buflen));
> 
>      /* Target. */
> @@ -294,15 +299,15 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
>        }
> 
>    case ns_t_px: {
> -    u_int t;
> +    u_int t_local;
> 
>      if (rdlen < NS_INT16SZ)
>        goto formerr;
> 
>      /* Priority. */
> -    t = ns_get16(rdata);
> +    t_local = ns_get16(rdata);
>      rdata += NS_INT16SZ;
> -    len = SPRINTF((tmp, "%u ", (unsigned int)t));
> +    len = SPRINTF((tmp, "%u ", (unsigned int)t_local));
>      T(addstr(tmp, len, &buf, &buflen));
> 
>      /* Name1. */
> @@ -503,33 +508,33 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
>        }
> 
>    case ns_t_sig: {
> -    u_int type, algorithm, labels, footprint;
> +    u_int type_local, algorithm, labels, footprint;
>      const char *leader;
> -    u_long t;
> +    u_long t_local;
>      int n;
> 
>      if (rdlen < 22)
>        goto formerr;
> 
>      /* Type covered, Algorithm, Label count, Original TTL. */
> -          type = ns_get16(rdata);  rdata += NS_INT16SZ;
> +          type_local = ns_get16(rdata);  rdata += NS_INT16SZ;
>      algorithm = *rdata++;
>      labels = *rdata++;
> -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
>      len = SPRINTF((tmp, " %s %d %lu ",
> -                   p_type((int)type), (int)algorithm, (unsigned long)t));
> +                   p_type((int)type_local), (int)algorithm, (unsigned
> long)t_local));
>      T(addstr(tmp, len, &buf, &buflen));
>      if (labels != (u_int)dn_count_labels(name))
>        goto formerr;
> 
>      /* Signature expiry. */
> -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> -    len = SPRINTF((tmp, "%s ", p_secstodate(t)));
> +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> +    len = SPRINTF((tmp, "%s ", p_secstodate(t_local)));
>      T(addstr(tmp, len, &buf, &buflen));
> 
>      /* Time signed. */
> -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> -    len = SPRINTF((tmp, "%s ", p_secstodate(t)));
> +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> +    len = SPRINTF((tmp, "%s ", p_secstodate(t_local)));
>      T(addstr(tmp, len, &buf, &buflen));
> 
>      /* Signature Footprint. */
> diff --git a/StdLib/EfiSocketLib/Socket.c 
> b/StdLib/EfiSocketLib/Socket.c index ee15b62..5f91744 100644
> --- a/StdLib/EfiSocketLib/Socket.c
> +++ b/StdLib/EfiSocketLib/Socket.c
> @@ -5,7 +5,7 @@
>    * Bound - pSocket->PortList is not NULL
>    * Listen - AcceptWait event is not NULL
> 
> -  Copyright (c) 2010 - 2014, Intel Corporation. All rights 
> reserved.<BR>
> +  Copyright (c) 2010 - 2024, Intel Corporation. All rights 
> + reserved.<BR>
>    SPDX-License-Identifier: BSD-2-Clause-Patent
> 
> 
> @@ -570,7 +570,7 @@ EslSocket (
>    int ApiArraySize;
>    ESL_SOCKET * pSocket;
>    EFI_STATUS Status;
> -  int errno;
> +  int error_num;
> 
>    DBG_ENTER ( );
> 
> @@ -583,7 +583,7 @@ EslSocket (
>    }
> 
>    //  Assume success
> -  errno = 0;
> +  error_num = 0;
>    Status = EFI_SUCCESS;
> 
>    //  Use break instead of goto
> @@ -595,7 +595,7 @@ EslSocket (
>        DEBUG (( DEBUG_ERROR | DEBUG_SOCKET,
>                  "ERROR - Invalid domain value\r\n" ));
>        Status = EFI_INVALID_PARAMETER;
> -      errno = EAFNOSUPPORT;
> +      error_num = EAFNOSUPPORT;
>        break;
>      }
> 
> @@ -625,7 +625,7 @@ EslSocket (
>                  "ERROR - Invalid type value\r\n" ));
>        //  The socket type is not supported
>        Status = EFI_INVALID_PARAMETER;
> -      errno = EPROTOTYPE;
> +      error_num = EPROTOTYPE;
>        break;
>      }
> 
> @@ -665,15 +665,15 @@ EslSocket (
>        if ( ppApiArrayEnd <= ppApiArray ) {
>          DEBUG (( DEBUG_ERROR | DEBUG_SOCKET,
>                    "ERROR - The protocol is not supported!\r\n" ));
> -        errno = EPROTONOSUPPORT;
> +        error_num = EPROTONOSUPPORT;
>          break;
>        }
> 
>        //  The driver does not support this protocol
>        DEBUG (( DEBUG_ERROR | DEBUG_SOCKET,
>                  "ERROR - The protocol does not support this socket 
> type!\r\n" ));
> -      errno = EPROTONOSUPPORT;
> -      errno = EPROTOTYPE;
> +      error_num = EPROTONOSUPPORT;
> +      error_num = EPROTOTYPE;
>        break;
>      }
>      //  Save the socket attributes
> @@ -687,7 +687,7 @@ EslSocket (
>    }
>    //  Return the operation status
>    if ( NULL != pErrno ) {
> -    *pErrno = errno;
> +    *pErrno = error_num;
>    }
>    DBG_EXIT_STATUS ( Status );
>    return Status;
> @@ -1334,7 +1334,7 @@ EslSocketClosePoll (
>    IN int * pErrno
>    )
>  {
> -  int errno;
> +  int error_num;
>    ESL_LAYER * pLayer;
>    ESL_SOCKET * pNextSocket;
>    ESL_SOCKET * pSocket;
> @@ -1346,7 +1346,7 @@ EslSocketClosePoll (
>    //
>    //  Assume success
>    //
> -  errno = 0;
> +  error_num = 0;
>    Status = EFI_SUCCESS;
> 
>    //
> @@ -1401,7 +1401,7 @@ EslSocketClosePoll (
>            //  At least one port is still open
>            //
>            Status = EFI_NOT_READY;
> -          errno = EAGAIN;
> +          error_num = EAGAIN;
>          }
>        }
>        else {
> @@ -1409,7 +1409,7 @@ EslSocketClosePoll (
>          //  SocketCloseStart was not called
>          //
>          Status = EFI_NOT_STARTED;
> -        errno = EPERM;
> +        error_num = EPERM;
>        }
>        break;
>      }
> @@ -1428,7 +1428,7 @@ EslSocketClosePoll (
>      //  Socket not found
>      //
>      Status = EFI_NOT_FOUND;
> -    errno = ENOTSOCK;
> +    error_num = ENOTSOCK;
>    }
> 
>    //
> @@ -1440,7 +1440,7 @@ EslSocketClosePoll (
>    //  Return the operation status
>    //
>    if ( NULL != pErrno ) {
> -    *pErrno = errno;
> +    *pErrno = error_num;
>    }
>    DBG_EXIT_STATUS ( Status );
>    return Status;
> @@ -1477,7 +1477,7 @@ EslSocketCloseStart (
>    IN int * pErrno
>    )
>  {
> -  int errno;
> +  int error_num;
>    ESL_PORT * pNextPort;
>    ESL_PORT * pPort;
>    ESL_SOCKET * pSocket;
> @@ -1490,7 +1490,7 @@ EslSocketCloseStart (
>    //  Assume success
>    //
>    Status = EFI_SUCCESS;
> -  errno = 0;
> +  error_num = 0;
> 
>    //
>    //  Synchronize with the socket layer @@ -1521,7 +1521,7 @@ 
> EslSocketCloseStart (
>                                           DEBUG_CLOSE | DEBUG_LISTEN | 
> DEBUG_CONNECTION );
>        if (( EFI_SUCCESS != Status )
>          && ( EFI_NOT_READY != Status )) {
> -        errno = EIO;
> +        error_num = EIO;
>          break;
>        }
> 
> @@ -1535,12 +1535,12 @@ EslSocketCloseStart (
>      //  Attempt to finish closing the socket
>      //
>      if ( NULL == pPort ) {
> -      Status = EslSocketClosePoll ( pSocketProtocol, &errno );
> +      Status = EslSocketClosePoll ( pSocketProtocol, &error_num );
>      }
>    }
>    else {
>      Status = EFI_NOT_READY;
> -    errno = EAGAIN;
> +    error_num = EAGAIN;
>    }
> 
>    //
> @@ -1552,7 +1552,7 @@ EslSocketCloseStart (
>    //  Return the operation status
>    //
>    if ( NULL != pErrno ) {
> -    *pErrno = errno;
> +    *pErrno = error_num;
>    }
>    DBG_EXIT_STATUS ( Status );
>    return Status;
> @@ -1889,7 +1889,7 @@ EslSocketFree (
>    )
>  {
>    EFI_HANDLE ChildHandle;
> -  int errno;
> +  int error_num;
>    ESL_LAYER * pLayer;
>    ESL_SOCKET * pSocket;
>    ESL_SOCKET * pSocketPrevious;
> @@ -1901,7 +1901,7 @@ EslSocketFree (
>    //
>    //  Assume failure
>    //
> -  errno = EIO;
> +  error_num = EIO;
>    pSocket = NULL;
>    Status = EFI_INVALID_PARAMETER;
> 
> @@ -1986,7 +1986,7 @@ EslSocketFree (
>                      "0x%08x: Free pSocket, %d bytes\r\n",
>                      pSocket,
>                      sizeof ( *pSocket )));
> -          errno = 0;
> +          error_num = 0;
>          }
>          else {
>            DEBUG (( DEBUG_ERROR | DEBUG_POOL, @@ -2014,10 +2014,10 @@ 
> EslSocketFree (
>    }
> 
>    //
> -  //  Return the errno value if possible
> +  //  Return the error_num value if possible
>    //
>    if ( NULL != pErrno ) {
> -    *pErrno = errno;
> +    *pErrno = error_num;
>    }
> 
>    //
> @@ -2751,7 +2751,7 @@ EslSocketOptionGet (
>    IN int * pErrno
>    )
>  {
> -  int errno;
> +  int error_num;
>    socklen_t LengthInBytes;
>    socklen_t MaxBytes;
>    CONST UINT8 * pOptionData;
> @@ -2763,7 +2763,7 @@ EslSocketOptionGet (
>    //
>    //  Assume failure
>    //
> -  errno = EINVAL;
> +  error_num = EINVAL;
>    Status = EFI_INVALID_PARAMETER;
> 
>    //
> @@ -2795,7 +2795,7 @@ EslSocketOptionGet (
>                                                   OptionName,
>                                                   (CONST void ** 
> __restrict)&pOptionData,
>                                                   &LengthInBytes );
> -          errno = pSocket->errno;
> +          error_num = pSocket->errno;
>            break;
>          }
>          else {
> @@ -2814,7 +2814,7 @@ EslSocketOptionGet (
>                    "ERROR - %a does not support any options!\r\n",
>                    pSocket->pApi->pName ));
>        }
> -      errno = ENOPROTOOPT;
> +      error_num = ENOPROTOOPT;
>        Status = EFI_INVALID_PARAMETER;
>        break;
> 
> @@ -2825,7 +2825,7 @@ EslSocketOptionGet (
>          //  Socket option not supported
>          //
>          DEBUG (( DEBUG_INFO | DEBUG_OPTION, "ERROR - Invalid socket 
> option!\r\n" ));
> -        errno = EINVAL;
> +        error_num = EINVAL;
>          Status = EFI_INVALID_PARAMETER;
>          break;
> 
> @@ -2927,7 +2927,7 @@ EslSocketOptionGet (
>        if ( LengthInBytes < MaxBytes ) {
>          ZeroMem ( &((UINT8 *)pOptionValue)[LengthInBytes], MaxBytes - 
> LengthInBytes );
>        }
> -      errno = 0;
> +      error_num = 0;
>        Status = EFI_SUCCESS;
>      }
>    }
> @@ -2936,7 +2936,7 @@ EslSocketOptionGet (
>    //  Return the operation status
>    //
>    if ( NULL != pErrno ) {
> -    *pErrno = errno;
> +    *pErrno = error_num;
>    }
>    DBG_EXIT_STATUS ( Status );
>    return Status;
> @@ -2971,7 +2971,7 @@ EslSocketOptionSet (
>    )
>  {
>    BOOLEAN bTrueFalse;
> -  int errno;
> +  int error_num;
>    socklen_t LengthInBytes;
>    UINT8 * pOptionData;
>    ESL_SOCKET * pSocket;
> @@ -2982,7 +2982,7 @@ EslSocketOptionSet (
>    //
>    //  Assume failure
>    //
> -  errno = EINVAL;
> +  error_num = EINVAL;
>    Status = EFI_INVALID_PARAMETER;
> 
>    //
> @@ -3015,7 +3015,7 @@ EslSocketOptionSet (
>                                                     OptionName,
>                                                     pOptionValue,
>                                                     OptionLength );
> -            errno = pSocket->errno;
> +            error_num = pSocket->errno;
>              break;
>            }
>            else {
> @@ -3034,7 +3034,7 @@ EslSocketOptionSet (
>                      "ERROR - %a does not support any options!\r\n",
>                      pSocket->pApi->pName ));
>          }
> -        errno = ENOPROTOOPT;
> +        error_num = ENOPROTOOPT;
>          Status = EFI_INVALID_PARAMETER;
>          break;
> 
> @@ -3046,7 +3046,7 @@ EslSocketOptionSet (
>            //
>            DEBUG (( DEBUG_OPTION,
>                      "ERROR - Sockets does not support this option!\r\n" ));
> -          errno = EINVAL;
> +          error_num = EINVAL;
>            Status = EFI_INVALID_PARAMETER;
>            break;
> 
> @@ -3133,7 +3133,7 @@ EslSocketOptionSet (
>            //  Set the option value
>            //
>            CopyMem ( pOptionData, pOptionValue, LengthInBytes );
> -          errno = 0;
> +          error_num = 0;
>            Status = EFI_SUCCESS;
>          }
>          else {
> @@ -3150,7 +3150,7 @@ EslSocketOptionSet (
>    //  Return the operation status
>    //
>    if ( NULL != pErrno ) {
> -    *pErrno = errno;
> +    *pErrno = error_num;
>    }
>    DBG_EXIT_STATUS ( Status );
>    return Status;
> --
> 2.45.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119964): https://edk2.groups.io/g/devel/message/119964
Mute This Topic: https://groups.io/mt/107267145/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [edk2-devel] [edk2-libc Patch 1/1] edk2-libc: Support for compiling Python UEFI interpreter with VS2022
  2024-07-18  4:58     ` Jayaprakash, N
@ 2024-07-18 15:44       ` Michael D Kinney
  2024-07-18 16:43         ` Jayaprakash, N
  2024-07-20 15:59         ` Jayaprakash, N
  0 siblings, 2 replies; 7+ messages in thread
From: Michael D Kinney @ 2024-07-18 15:44 UTC (permalink / raw)
  To: Jayaprakash, N, devel@edk2.groups.io; +Cc: Rebecca Cran, Kinney, Michael D

Hi JP,

Thanks for adding details to the BZ.

For the commit message and PR description please add the
Summary of the types of compiler warnings being addressed.

For example, I did not know why declaring a different named
local variable resolved an issue.

Mike

> -----Original Message-----
> From: Jayaprakash, N <n.jayaprakash@intel.com>
> Sent: Wednesday, July 17, 2024 9:58 PM
> To: Kinney, Michael D <michael.d.kinney@intel.com>; devel@edk2.groups.io
> Cc: Rebecca Cran <rebecca@bsdio.com>
> Subject: RE: [edk2-libc Patch 1/1] edk2-libc: Support for compiling Python
> UEFI interpreter with VS2022
> 
> Hi Mike,
> 
> It's a big list of warnings treated as errors in VS2022.
> So, I have captured all these compilation issues in the BZ:
> https://bugzilla.tianocore.org/show_bug.cgi?id=4811
> 
> GitHub actions with VS2019 and GCC building successfully post these fixes in
> my fork of edk2-libc.
> VS2019 Github action: https://github.com/jpshivakavi/edk2-libc-
> jp/actions/runs/9969663166
> GCC github action: https://github.com/jpshivakavi/edk2-libc-
> jp/actions/runs/9969663158
> 
> I have also verified the builds with VS2022  in my local workspace.
> 
> Regards,
> JP
> -----Original Message-----
> From: Kinney, Michael D <michael.d.kinney@intel.com>
> Sent: Wednesday, July 17, 2024 9:40 PM
> To: Jayaprakash, N <n.jayaprakash@intel.com>; devel@edk2.groups.io
> Cc: Rebecca Cran <rebecca@bsdio.com>; Kinney, Michael D
> <michael.d.kinney@intel.com>
> Subject: RE: [edk2-libc Patch 1/1] edk2-libc: Support for compiling Python
> UEFI interpreter with VS2022
> 
> Can you list the compiler errors that are being fixed by this patch?
> 
> Mike
> 
> > -----Original Message-----
> > From: Jayaprakash, N <n.jayaprakash@intel.com>
> > Sent: Tuesday, July 16, 2024 11:59 PM
> > To: devel@edk2.groups.io
> > Cc: Jayaprakash, N <n.jayaprakash@intel.com>; Rebecca Cran
> > <rebecca@bsdio.com>; Kinney, Michael D <michael.d.kinney@intel.com>
> > Subject: [edk2-libc Patch 1/1] edk2-libc: Support for compiling Python
> > UEFI interpreter with VS2022
> >
> > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4811
> >
> > This commit fixes the compilation issues observed with several
> > components in the edk2-libc repo while trying to compile Python
> > interpreter for UEFI.
> >
> > Cc: Rebecca Cran <rebecca@bsdio.com>
> > Cc: Michael D Kinney <michael.d.kinney@intel.com>
> > Cc: Jayaprakash N <n.jayaprakash@intel.com>
> > Signed-off-by: Jayaprakash N <n.jayaprakash@intel.com>
> > ---
> >  AppPkg/Applications/Enquire/Enquire.c         | 48 +++++------
> >  .../OrderedCollectionTest.c                   | 10 +--
> >  .../Sockets/DataSource/DataSource.c           | 10 +--
> >  AppPkg/Applications/Sockets/OobRx/OobRx.c     |  4 +-
> >  .../Applications/Sockets/RawIp4Rx/RawIp4Rx.c  |  4 +-
> >  StdLib/BsdSocketLib/getnetbyht.c              |  9 ++-
> >  StdLib/BsdSocketLib/ns_print.c                | 57 +++++++------
> >  StdLib/EfiSocketLib/Socket.c                  | 80 +++++++++----------
> >  8 files changed, 116 insertions(+), 106 deletions(-)
> >
> > diff --git a/AppPkg/Applications/Enquire/Enquire.c
> > b/AppPkg/Applications/Enquire/Enquire.c
> > index 1e1db69..5e34f48 100644
> > --- a/AppPkg/Applications/Enquire/Enquire.c
> > +++ b/AppPkg/Applications/Enquire/Enquire.c
> > @@ -5,7 +5,7 @@
> >      Steven Pemberton, CWI, Amsterdam; "Steven.Pemberton@cwi.nl"
> >      Used with permission.
> >
> > -    Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
> > +    Copyright (c) 2010 - 2024, Intel Corporation. All rights
> > + reserved.<BR>
> >      This program and the accompanying materials
> >      are licensed and made available under the terms and conditions of
> > the BSD License
> >      which accompanies this distribution. The full text of the license
> > may be found at @@ -918,15 +918,15 @@ memeq(  }
> >
> >  Void
> > -farewell(int bugs)
> > +farewell(int bugs_local)
> >  {
> > -  if (bugs == 0) exit(0);
> > +  if (bugs_local == 0) exit(0);
> >    printf("\n%sFor hints on dealing with the ", co);
> > -  if (bugs == 1) printf("problem");
> > -  else printf("%d problems", bugs);
> > +  if (bugs_local == 1) printf("problem");  else printf("%d problems",
> > + bugs_local);
> >    printf(" above\n   see the section 'TROUBLESHOOTING' in the file ");
> >    printf("%s%s\n", FILENAME, oc);
> > -  exit(bugs);
> > +  exit(bugs_local);
> >  }
> >
> >  /* The program has received a signal where it wasn't expecting one */
> > @@ -1927,51 +1927,51 @@ int cprop( void )
> >
> >      if (c_signed) {
> >  #ifndef NO_UC
> > -/* Syntax error? Define NO_UC */ Volatile unsigned char c1, char_max;
> > -      c1=0; char_max=0;
> > +/* Syntax error? Define NO_UC */ Volatile unsigned char c1,
> char_max_local;
> > +      c1=0; char_max_local=0;
> >        c1++;
> > -      if (setjmp(lab)==0) { /* Yields char_max */
> > -        while (c1>char_max) {
> > -          char_max=c1;
> > +      if (setjmp(lab)==0) { /* Yields char_max_local */
> > +        while (c1>char_max_local) {
> > +          char_max_local=c1;
> >            c1++;
> >          }
> >        }
> >        Unexpected(4);
> >        if (sizeof(char) == sizeof(int)) {
> >          u_define(D_UCHAR_MAX, "", "UCHAR", "_MAX",
> > -           (ulong) char_max,
> > +           (ulong) char_max_local,
> >             (ulong) UCHAR_MAX, "");
> >        } else {
> >          i_define(D_UCHAR_MAX, "", "UCHAR", "_MAX",
> > -           (long) char_max, 0L,
> > +           (long) char_max_local, 0L,
> >             (long) UCHAR_MAX, "");
> >        }
> >  #endif
> >      } else {
> >  #ifndef NO_SC
> > -/* Syntax error? Define NO_SC */ Volatile signed char c1, char_max,
> > char_min;
> > -      c1=0; char_max=0;
> > +/* Syntax error? Define NO_SC */ Volatile signed char c1,
> > +char_max_local,
> > char_min_local;
> > +      c1=0; char_max_local=0;
> >        c1++;
> > -      if (setjmp(lab)==0) { /* Yields char_max */
> > -        while (c1>char_max) {
> > -          char_max=c1;
> > +      if (setjmp(lab)==0) { /* Yields char_max_local */
> > +        while (c1>char_max_local) {
> > +          char_max_local=c1;
> >            c1++;
> >          }
> >        }
> > -      c1=0; char_min=0;
> > +      c1=0; char_min_local=0;
> >        c1--;
> > -      if (setjmp(lab)==0) { /* Yields char_min */
> > -        while (c1<char_min) {
> > -          char_min=c1;
> > +      if (setjmp(lab)==0) { /* Yields char_min_local */
> > +        while (c1<char_min_local) {
> > +          char_min_local=c1;
> >            c1--;
> >          }
> >        }
> >        Unexpected(5);
> >        i_define(D_SCHAR_MIN, "", "SCHAR", "_MIN",
> > -         (long) char_min, (long) maxint,
> > +         (long) char_min_local, (long) maxint,
> >           (long) SCHAR_MIN, "");
> >        i_define(D_SCHAR_MAX, "", "SCHAR", "_MAX",
> > -         (long) char_max, 0L,
> > +         (long) char_max_local, 0L,
> >           (long) SCHAR_MAX, "");
> >  #endif /* NO_SC */
> >      }
> > diff --git
> > a/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.c
> > b/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.c
> > index 712ee8f..ea44b31 100644
> > ---
> > a/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.c
> > +++ b/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.
> > +++ c
> > @@ -7,7 +7,7 @@
> >    per default, eg. serial line).
> >
> >    Copyright (C) 2014, Red Hat, Inc.
> > -  Copyright (c) 2010 - 2011, Intel Corporation. All rights
> > reserved.<BR>
> > +  Copyright (c) 2010 - 2024, Intel Corporation. All rights
> > + reserved.<BR>
> >
> >    SPDX-License-Identifier: BSD-2-Clause-Patent  **/ @@ -458,10
> > +458,10 @@ SetupInputOutput (
> >
> >      case 'h':
> >        fprintf (stderr,
> > -        "%1$s: simple OrderedCollectionLib tester\n"
> > +        "%s: simple OrderedCollectionLib tester\n"
> >          "\n"
> > -        "Usage: 1. %1$s [-i InputFile] [-o OutputFile]\n"
> > -        "       2. %1$s -h\n"
> > +        "Usage: 1. %s [-i InputFile] [-o OutputFile]\n"
> > +        "       2. %s -h\n"
> >          "\n"
> >          "Options:\n"
> >          "  -i InputFile : read commands from InputFile\n"
> > @@ -469,7 +469,7 @@ SetupInputOutput (
> >          "  -o OutputFile: write command responses to OutputFile\n"
> >          "                 (will write to stdout if absent)\n"
> >          "  -h           : print this help and exit\n"
> > -        "\n", ArgV[0]);
> > +        "\n", ArgV[0], ArgV[0], ArgV[0]);
> >        ListCommands ();
> >        exit (EXIT_SUCCESS);
> >
> > diff --git a/AppPkg/Applications/Sockets/DataSource/DataSource.c
> > b/AppPkg/Applications/Sockets/DataSource/DataSource.c
> > index 360689e..0ca6a9a 100644
> > --- a/AppPkg/Applications/Sockets/DataSource/DataSource.c
> > +++ b/AppPkg/Applications/Sockets/DataSource/DataSource.c
> > @@ -1,7 +1,7 @@
> >  /** @file
> >    Data source for network testing.
> >
> > -  Copyright (c) 2011-2012, Intel Corporation. All rights reserved.
> > +  Copyright (c) 2011-2024, Intel Corporation. All rights reserved.
> >    SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> >  **/
> > @@ -538,7 +538,7 @@ EFI_STATUS
> >  SocketSend (
> >    )
> >  {
> > -  size_t BytesSent;
> > +  size_t BytesSentLocal;
> >    EFI_STATUS Status;
> >    EFI_TPL TplPrevious;
> >
> > @@ -562,8 +562,8 @@ SocketSend (
> >      //
> >      //  Send some bytes
> >      //
> > -    BytesSent = write ( Socket, &Buffer[0], sizeof ( Buffer ));
> > -    if ( -1 == BytesSent ) {
> > +    BytesSentLocal = write ( Socket, &Buffer[0], sizeof ( Buffer ));
> > +    if ( -1 == BytesSentLocal ) {
> >        DEBUG (( DEBUG_INFO,
> >                  "ERROR: send failed, errno: %d\r\n",
> >                  errno ));
> > @@ -589,7 +589,7 @@ Status = EFI_NOT_STARTED;
> >      //
> >      //  Account for the data sent
> >      //
> > -    TotalBytesSent += BytesSent;
> > +    TotalBytesSent += BytesSentLocal;
> >
> >      //
> >      //  Release the TimerCallback routine synchronization diff --git
> > a/AppPkg/Applications/Sockets/OobRx/OobRx.c
> > b/AppPkg/Applications/Sockets/OobRx/OobRx.c
> > index 28e10d8..af07127 100644
> > --- a/AppPkg/Applications/Sockets/OobRx/OobRx.c
> > +++ b/AppPkg/Applications/Sockets/OobRx/OobRx.c
> > @@ -150,7 +150,7 @@ OobRx (
> >              //
> >              //  Display the received OOB data
> >              //
> > -            printf ( "%5Ld OOB bytes received\r\n", (UINT64)BytesReceived
> );
> > +            printf ( "%5llu OOB bytes received\r\n",
> > + (UINT64)BytesReceived
> > );
> >
> >              //
> >              //  Account for the bytes received @@ -183,7 +183,7 @@
> > OobRx (
> >                //
> >                //  Display the received data
> >                //
> > -              printf ( "%4Ld bytes received\r\n", (UINT64)BytesReceived );
> > +              printf ( "%4llu bytes received\r\n",
> > + (UINT64)BytesReceived );
> >
> >                //
> >                //  Account for the bytes received diff --git
> > a/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
> > b/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
> > index b52cd38..b190b44 100644
> > --- a/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
> > +++ b/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
> > @@ -1,7 +1,7 @@
> >  /** @file
> >    Raw IP4 receive application
> >
> > -  Copyright (c) 2011-2012, Intel Corporation. All rights reserved.
> > +  Copyright (c) 2011-2024, Intel Corporation. All rights reserved.
> >    SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> >  **/
> > @@ -157,7 +157,7 @@ RawIp4Rx (
> >          //  Display the bytes received
> >          //
> >          if ( 0 == RetVal ) {
> > -          printf ( "Total Bytes Received:  %Ld\r\n", TotalBytesReceived );
> > +          printf ( "Total Bytes Received:  %llu\r\n",
> > + TotalBytesReceived );
> >          }
> >
> >          //
> > diff --git a/StdLib/BsdSocketLib/getnetbyht.c
> > b/StdLib/BsdSocketLib/getnetbyht.c
> > index 08b8042..5907d44 100644
> > --- a/StdLib/BsdSocketLib/getnetbyht.c
> > +++ b/StdLib/BsdSocketLib/getnetbyht.c
> > @@ -41,6 +41,11 @@
> >   * from getnetent.c	1.1 (Coimbra) 93/06/02
> >   */
> >
> > +/*
> > + * Copyright (c) 2024, Intel Corporation. All rights reserved.
> > + * SPDX-License-Identifier: BSD-2-Clause-Patent  */
> > +
> >  #if defined(LIBC_SCCS) && !defined(lint)
> >  static char sccsid[] = "@(#)getnetent.c	8.1 (Berkeley) 6/4/93";
> >  static char orig_rcsid[] = "From: Id: getnetent.c,v 8.4 1997/06/01
> > 20:34:37 vixie Exp"; @@ -155,13 +160,13 @@ found:
> >  }
> >
> >  struct netent *
> > -_getnetbyhtaddr(register unsigned long net, register int type)
> > +_getnetbyhtaddr(register unsigned long net_local, register int type)
> >  {
> >  	register struct netent *p;
> >
> >  	setnetent(_net_stayopen);
> >  	while ( NULL != (p = getnetent()) )
> > -		if (p->n_addrtype == type && p->n_net == net)
> > +        if (p->n_addrtype == type && p->n_net == net_local)
> >  			break;
> >  	if (!_net_stayopen)
> >  		endnetent();
> > diff --git a/StdLib/BsdSocketLib/ns_print.c
> > b/StdLib/BsdSocketLib/ns_print.c index ea29d01..fb19bf9 100644
> > --- a/StdLib/BsdSocketLib/ns_print.c
> > +++ b/StdLib/BsdSocketLib/ns_print.c
> > @@ -55,6 +55,11 @@
> >   *
> >   */
> >
> > +/*
> > + * Copyright (c) 2024, Intel Corporation. All rights reserved.
> > + * SPDX-License-Identifier: BSD-2-Clause-Patent  */
> > +
> >  /* Import. */
> >
> >  #include <sys/types.h>
> > @@ -211,7 +216,7 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
> >      break;
> >
> >    case ns_t_soa: {
> > -    u_long t;
> > +    u_long t_local;
> >
> >      /* Server name. */
> >      T(addname(msg, msglen, &rdata, origin, &buf, &buflen)); @@
> > -226,45 +231,45 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
> >        goto formerr;
> >
> >      /* Serial number. */
> > -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> > +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> >      T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> > -    len = SPRINTF((tmp, "%lu", (unsigned long)t));
> > +    len = SPRINTF((tmp, "%lu", (unsigned long)t_local));
> >      T(addstr(tmp, len, &buf, &buflen));
> >      T(spaced = addtab(len, 16, spaced, &buf, &buflen));
> >      T(addstr("; serial\n", 9, &buf, &buflen));
> >      spaced = 0;
> >
> >      /* Refresh interval. */
> > -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> > +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> >      T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> > -    T(len = ns_format_ttl(t, buf, buflen));
> > +    T(len = ns_format_ttl(t_local, buf, buflen));
> >      addlen(len, &buf, &buflen);
> >      T(spaced = addtab(len, 16, spaced, &buf, &buflen));
> >      T(addstr("; refresh\n", 10, &buf, &buflen));
> >      spaced = 0;
> >
> >      /* Retry interval. */
> > -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> > +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> >      T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> > -    T(len = ns_format_ttl(t, buf, buflen));
> > +    T(len = ns_format_ttl(t_local, buf, buflen));
> >      addlen(len, &buf, &buflen);
> >      T(spaced = addtab(len, 16, spaced, &buf, &buflen));
> >      T(addstr("; retry\n", 8, &buf, &buflen));
> >      spaced = 0;
> >
> >      /* Expiry. */
> > -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> > +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> >      T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> > -    T(len = ns_format_ttl(t, buf, buflen));
> > +    T(len = ns_format_ttl(t_local, buf, buflen));
> >      addlen(len, &buf, &buflen);
> >      T(spaced = addtab(len, 16, spaced, &buf, &buflen));
> >      T(addstr("; expiry\n", 9, &buf, &buflen));
> >      spaced = 0;
> >
> >      /* Minimum TTL. */
> > -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> > +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> >      T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> > -    T(len = ns_format_ttl(t, buf, buflen));
> > +    T(len = ns_format_ttl(t_local, buf, buflen));
> >      addlen(len, &buf, &buflen);
> >      T(addstr(" )", 2, &buf, &buflen));
> >      T(spaced = addtab(len, 16, spaced, &buf, &buflen)); @@ -276,15
> > +281,15 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
> >    case ns_t_mx:
> >    case ns_t_afsdb:
> >    case ns_t_rt: {
> > -    u_int t;
> > +    u_int t_local;
> >
> >      if (rdlen < NS_INT16SZ)
> >        goto formerr;
> >
> >      /* Priority. */
> > -    t = ns_get16(rdata);
> > +    t_local = ns_get16(rdata);
> >      rdata += NS_INT16SZ;
> > -    len = SPRINTF((tmp, "%u ", (unsigned int)t));
> > +    len = SPRINTF((tmp, "%u ", (unsigned int)t_local));
> >      T(addstr(tmp, len, &buf, &buflen));
> >
> >      /* Target. */
> > @@ -294,15 +299,15 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
> >        }
> >
> >    case ns_t_px: {
> > -    u_int t;
> > +    u_int t_local;
> >
> >      if (rdlen < NS_INT16SZ)
> >        goto formerr;
> >
> >      /* Priority. */
> > -    t = ns_get16(rdata);
> > +    t_local = ns_get16(rdata);
> >      rdata += NS_INT16SZ;
> > -    len = SPRINTF((tmp, "%u ", (unsigned int)t));
> > +    len = SPRINTF((tmp, "%u ", (unsigned int)t_local));
> >      T(addstr(tmp, len, &buf, &buflen));
> >
> >      /* Name1. */
> > @@ -503,33 +508,33 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
> >        }
> >
> >    case ns_t_sig: {
> > -    u_int type, algorithm, labels, footprint;
> > +    u_int type_local, algorithm, labels, footprint;
> >      const char *leader;
> > -    u_long t;
> > +    u_long t_local;
> >      int n;
> >
> >      if (rdlen < 22)
> >        goto formerr;
> >
> >      /* Type covered, Algorithm, Label count, Original TTL. */
> > -          type = ns_get16(rdata);  rdata += NS_INT16SZ;
> > +          type_local = ns_get16(rdata);  rdata += NS_INT16SZ;
> >      algorithm = *rdata++;
> >      labels = *rdata++;
> > -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> > +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> >      len = SPRINTF((tmp, " %s %d %lu ",
> > -                   p_type((int)type), (int)algorithm, (unsigned long)t));
> > +                   p_type((int)type_local), (int)algorithm, (unsigned
> > long)t_local));
> >      T(addstr(tmp, len, &buf, &buflen));
> >      if (labels != (u_int)dn_count_labels(name))
> >        goto formerr;
> >
> >      /* Signature expiry. */
> > -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> > -    len = SPRINTF((tmp, "%s ", p_secstodate(t)));
> > +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> > +    len = SPRINTF((tmp, "%s ", p_secstodate(t_local)));
> >      T(addstr(tmp, len, &buf, &buflen));
> >
> >      /* Time signed. */
> > -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> > -    len = SPRINTF((tmp, "%s ", p_secstodate(t)));
> > +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> > +    len = SPRINTF((tmp, "%s ", p_secstodate(t_local)));
> >      T(addstr(tmp, len, &buf, &buflen));
> >
> >      /* Signature Footprint. */
> > diff --git a/StdLib/EfiSocketLib/Socket.c
> > b/StdLib/EfiSocketLib/Socket.c index ee15b62..5f91744 100644
> > --- a/StdLib/EfiSocketLib/Socket.c
> > +++ b/StdLib/EfiSocketLib/Socket.c
> > @@ -5,7 +5,7 @@
> >    * Bound - pSocket->PortList is not NULL
> >    * Listen - AcceptWait event is not NULL
> >
> > -  Copyright (c) 2010 - 2014, Intel Corporation. All rights
> > reserved.<BR>
> > +  Copyright (c) 2010 - 2024, Intel Corporation. All rights
> > + reserved.<BR>
> >    SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> >
> > @@ -570,7 +570,7 @@ EslSocket (
> >    int ApiArraySize;
> >    ESL_SOCKET * pSocket;
> >    EFI_STATUS Status;
> > -  int errno;
> > +  int error_num;
> >
> >    DBG_ENTER ( );
> >
> > @@ -583,7 +583,7 @@ EslSocket (
> >    }
> >
> >    //  Assume success
> > -  errno = 0;
> > +  error_num = 0;
> >    Status = EFI_SUCCESS;
> >
> >    //  Use break instead of goto
> > @@ -595,7 +595,7 @@ EslSocket (
> >        DEBUG (( DEBUG_ERROR | DEBUG_SOCKET,
> >                  "ERROR - Invalid domain value\r\n" ));
> >        Status = EFI_INVALID_PARAMETER;
> > -      errno = EAFNOSUPPORT;
> > +      error_num = EAFNOSUPPORT;
> >        break;
> >      }
> >
> > @@ -625,7 +625,7 @@ EslSocket (
> >                  "ERROR - Invalid type value\r\n" ));
> >        //  The socket type is not supported
> >        Status = EFI_INVALID_PARAMETER;
> > -      errno = EPROTOTYPE;
> > +      error_num = EPROTOTYPE;
> >        break;
> >      }
> >
> > @@ -665,15 +665,15 @@ EslSocket (
> >        if ( ppApiArrayEnd <= ppApiArray ) {
> >          DEBUG (( DEBUG_ERROR | DEBUG_SOCKET,
> >                    "ERROR - The protocol is not supported!\r\n" ));
> > -        errno = EPROTONOSUPPORT;
> > +        error_num = EPROTONOSUPPORT;
> >          break;
> >        }
> >
> >        //  The driver does not support this protocol
> >        DEBUG (( DEBUG_ERROR | DEBUG_SOCKET,
> >                  "ERROR - The protocol does not support this socket
> > type!\r\n" ));
> > -      errno = EPROTONOSUPPORT;
> > -      errno = EPROTOTYPE;
> > +      error_num = EPROTONOSUPPORT;
> > +      error_num = EPROTOTYPE;
> >        break;
> >      }
> >      //  Save the socket attributes
> > @@ -687,7 +687,7 @@ EslSocket (
> >    }
> >    //  Return the operation status
> >    if ( NULL != pErrno ) {
> > -    *pErrno = errno;
> > +    *pErrno = error_num;
> >    }
> >    DBG_EXIT_STATUS ( Status );
> >    return Status;
> > @@ -1334,7 +1334,7 @@ EslSocketClosePoll (
> >    IN int * pErrno
> >    )
> >  {
> > -  int errno;
> > +  int error_num;
> >    ESL_LAYER * pLayer;
> >    ESL_SOCKET * pNextSocket;
> >    ESL_SOCKET * pSocket;
> > @@ -1346,7 +1346,7 @@ EslSocketClosePoll (
> >    //
> >    //  Assume success
> >    //
> > -  errno = 0;
> > +  error_num = 0;
> >    Status = EFI_SUCCESS;
> >
> >    //
> > @@ -1401,7 +1401,7 @@ EslSocketClosePoll (
> >            //  At least one port is still open
> >            //
> >            Status = EFI_NOT_READY;
> > -          errno = EAGAIN;
> > +          error_num = EAGAIN;
> >          }
> >        }
> >        else {
> > @@ -1409,7 +1409,7 @@ EslSocketClosePoll (
> >          //  SocketCloseStart was not called
> >          //
> >          Status = EFI_NOT_STARTED;
> > -        errno = EPERM;
> > +        error_num = EPERM;
> >        }
> >        break;
> >      }
> > @@ -1428,7 +1428,7 @@ EslSocketClosePoll (
> >      //  Socket not found
> >      //
> >      Status = EFI_NOT_FOUND;
> > -    errno = ENOTSOCK;
> > +    error_num = ENOTSOCK;
> >    }
> >
> >    //
> > @@ -1440,7 +1440,7 @@ EslSocketClosePoll (
> >    //  Return the operation status
> >    //
> >    if ( NULL != pErrno ) {
> > -    *pErrno = errno;
> > +    *pErrno = error_num;
> >    }
> >    DBG_EXIT_STATUS ( Status );
> >    return Status;
> > @@ -1477,7 +1477,7 @@ EslSocketCloseStart (
> >    IN int * pErrno
> >    )
> >  {
> > -  int errno;
> > +  int error_num;
> >    ESL_PORT * pNextPort;
> >    ESL_PORT * pPort;
> >    ESL_SOCKET * pSocket;
> > @@ -1490,7 +1490,7 @@ EslSocketCloseStart (
> >    //  Assume success
> >    //
> >    Status = EFI_SUCCESS;
> > -  errno = 0;
> > +  error_num = 0;
> >
> >    //
> >    //  Synchronize with the socket layer @@ -1521,7 +1521,7 @@
> > EslSocketCloseStart (
> >                                           DEBUG_CLOSE | DEBUG_LISTEN |
> > DEBUG_CONNECTION );
> >        if (( EFI_SUCCESS != Status )
> >          && ( EFI_NOT_READY != Status )) {
> > -        errno = EIO;
> > +        error_num = EIO;
> >          break;
> >        }
> >
> > @@ -1535,12 +1535,12 @@ EslSocketCloseStart (
> >      //  Attempt to finish closing the socket
> >      //
> >      if ( NULL == pPort ) {
> > -      Status = EslSocketClosePoll ( pSocketProtocol, &errno );
> > +      Status = EslSocketClosePoll ( pSocketProtocol, &error_num );
> >      }
> >    }
> >    else {
> >      Status = EFI_NOT_READY;
> > -    errno = EAGAIN;
> > +    error_num = EAGAIN;
> >    }
> >
> >    //
> > @@ -1552,7 +1552,7 @@ EslSocketCloseStart (
> >    //  Return the operation status
> >    //
> >    if ( NULL != pErrno ) {
> > -    *pErrno = errno;
> > +    *pErrno = error_num;
> >    }
> >    DBG_EXIT_STATUS ( Status );
> >    return Status;
> > @@ -1889,7 +1889,7 @@ EslSocketFree (
> >    )
> >  {
> >    EFI_HANDLE ChildHandle;
> > -  int errno;
> > +  int error_num;
> >    ESL_LAYER * pLayer;
> >    ESL_SOCKET * pSocket;
> >    ESL_SOCKET * pSocketPrevious;
> > @@ -1901,7 +1901,7 @@ EslSocketFree (
> >    //
> >    //  Assume failure
> >    //
> > -  errno = EIO;
> > +  error_num = EIO;
> >    pSocket = NULL;
> >    Status = EFI_INVALID_PARAMETER;
> >
> > @@ -1986,7 +1986,7 @@ EslSocketFree (
> >                      "0x%08x: Free pSocket, %d bytes\r\n",
> >                      pSocket,
> >                      sizeof ( *pSocket )));
> > -          errno = 0;
> > +          error_num = 0;
> >          }
> >          else {
> >            DEBUG (( DEBUG_ERROR | DEBUG_POOL, @@ -2014,10 +2014,10 @@
> > EslSocketFree (
> >    }
> >
> >    //
> > -  //  Return the errno value if possible
> > +  //  Return the error_num value if possible
> >    //
> >    if ( NULL != pErrno ) {
> > -    *pErrno = errno;
> > +    *pErrno = error_num;
> >    }
> >
> >    //
> > @@ -2751,7 +2751,7 @@ EslSocketOptionGet (
> >    IN int * pErrno
> >    )
> >  {
> > -  int errno;
> > +  int error_num;
> >    socklen_t LengthInBytes;
> >    socklen_t MaxBytes;
> >    CONST UINT8 * pOptionData;
> > @@ -2763,7 +2763,7 @@ EslSocketOptionGet (
> >    //
> >    //  Assume failure
> >    //
> > -  errno = EINVAL;
> > +  error_num = EINVAL;
> >    Status = EFI_INVALID_PARAMETER;
> >
> >    //
> > @@ -2795,7 +2795,7 @@ EslSocketOptionGet (
> >                                                   OptionName,
> >                                                   (CONST void **
> > __restrict)&pOptionData,
> >                                                   &LengthInBytes );
> > -          errno = pSocket->errno;
> > +          error_num = pSocket->errno;
> >            break;
> >          }
> >          else {
> > @@ -2814,7 +2814,7 @@ EslSocketOptionGet (
> >                    "ERROR - %a does not support any options!\r\n",
> >                    pSocket->pApi->pName ));
> >        }
> > -      errno = ENOPROTOOPT;
> > +      error_num = ENOPROTOOPT;
> >        Status = EFI_INVALID_PARAMETER;
> >        break;
> >
> > @@ -2825,7 +2825,7 @@ EslSocketOptionGet (
> >          //  Socket option not supported
> >          //
> >          DEBUG (( DEBUG_INFO | DEBUG_OPTION, "ERROR - Invalid socket
> > option!\r\n" ));
> > -        errno = EINVAL;
> > +        error_num = EINVAL;
> >          Status = EFI_INVALID_PARAMETER;
> >          break;
> >
> > @@ -2927,7 +2927,7 @@ EslSocketOptionGet (
> >        if ( LengthInBytes < MaxBytes ) {
> >          ZeroMem ( &((UINT8 *)pOptionValue)[LengthInBytes], MaxBytes -
> > LengthInBytes );
> >        }
> > -      errno = 0;
> > +      error_num = 0;
> >        Status = EFI_SUCCESS;
> >      }
> >    }
> > @@ -2936,7 +2936,7 @@ EslSocketOptionGet (
> >    //  Return the operation status
> >    //
> >    if ( NULL != pErrno ) {
> > -    *pErrno = errno;
> > +    *pErrno = error_num;
> >    }
> >    DBG_EXIT_STATUS ( Status );
> >    return Status;
> > @@ -2971,7 +2971,7 @@ EslSocketOptionSet (
> >    )
> >  {
> >    BOOLEAN bTrueFalse;
> > -  int errno;
> > +  int error_num;
> >    socklen_t LengthInBytes;
> >    UINT8 * pOptionData;
> >    ESL_SOCKET * pSocket;
> > @@ -2982,7 +2982,7 @@ EslSocketOptionSet (
> >    //
> >    //  Assume failure
> >    //
> > -  errno = EINVAL;
> > +  error_num = EINVAL;
> >    Status = EFI_INVALID_PARAMETER;
> >
> >    //
> > @@ -3015,7 +3015,7 @@ EslSocketOptionSet (
> >                                                     OptionName,
> >                                                     pOptionValue,
> >                                                     OptionLength );
> > -            errno = pSocket->errno;
> > +            error_num = pSocket->errno;
> >              break;
> >            }
> >            else {
> > @@ -3034,7 +3034,7 @@ EslSocketOptionSet (
> >                      "ERROR - %a does not support any options!\r\n",
> >                      pSocket->pApi->pName ));
> >          }
> > -        errno = ENOPROTOOPT;
> > +        error_num = ENOPROTOOPT;
> >          Status = EFI_INVALID_PARAMETER;
> >          break;
> >
> > @@ -3046,7 +3046,7 @@ EslSocketOptionSet (
> >            //
> >            DEBUG (( DEBUG_OPTION,
> >                      "ERROR - Sockets does not support this option!\r\n"
> ));
> > -          errno = EINVAL;
> > +          error_num = EINVAL;
> >            Status = EFI_INVALID_PARAMETER;
> >            break;
> >
> > @@ -3133,7 +3133,7 @@ EslSocketOptionSet (
> >            //  Set the option value
> >            //
> >            CopyMem ( pOptionData, pOptionValue, LengthInBytes );
> > -          errno = 0;
> > +          error_num = 0;
> >            Status = EFI_SUCCESS;
> >          }
> >          else {
> > @@ -3150,7 +3150,7 @@ EslSocketOptionSet (
> >    //  Return the operation status
> >    //
> >    if ( NULL != pErrno ) {
> > -    *pErrno = errno;
> > +    *pErrno = error_num;
> >    }
> >    DBG_EXIT_STATUS ( Status );
> >    return Status;
> > --
> > 2.45.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119971): https://edk2.groups.io/g/devel/message/119971
Mute This Topic: https://groups.io/mt/107267145/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [edk2-devel] [edk2-libc Patch 1/1] edk2-libc: Support for compiling Python UEFI interpreter with VS2022
  2024-07-18 15:44       ` Michael D Kinney
@ 2024-07-18 16:43         ` Jayaprakash, N
  2024-07-20 15:59         ` Jayaprakash, N
  1 sibling, 0 replies; 7+ messages in thread
From: Jayaprakash, N @ 2024-07-18 16:43 UTC (permalink / raw)
  To: Kinney, Michael D, devel@edk2.groups.io; +Cc: Rebecca Cran

Thanks Mike.
I shall add the summary of the types of compiler warnings being addressed into PR description and the commit message.

Regards,
JP

-----Original Message-----
From: Kinney, Michael D <michael.d.kinney@intel.com> 
Sent: Thursday, July 18, 2024 9:14 PM
To: Jayaprakash, N <n.jayaprakash@intel.com>; devel@edk2.groups.io
Cc: Rebecca Cran <rebecca@bsdio.com>; Kinney, Michael D <michael.d.kinney@intel.com>
Subject: RE: [edk2-libc Patch 1/1] edk2-libc: Support for compiling Python UEFI interpreter with VS2022

Hi JP,

Thanks for adding details to the BZ.

For the commit message and PR description please add the Summary of the types of compiler warnings being addressed.

For example, I did not know why declaring a different named local variable resolved an issue.

Mike

> -----Original Message-----
> From: Jayaprakash, N <n.jayaprakash@intel.com>
> Sent: Wednesday, July 17, 2024 9:58 PM
> To: Kinney, Michael D <michael.d.kinney@intel.com>; 
> devel@edk2.groups.io
> Cc: Rebecca Cran <rebecca@bsdio.com>
> Subject: RE: [edk2-libc Patch 1/1] edk2-libc: Support for compiling 
> Python UEFI interpreter with VS2022
> 
> Hi Mike,
> 
> It's a big list of warnings treated as errors in VS2022.
> So, I have captured all these compilation issues in the BZ:
> https://bugzilla.tianocore.org/show_bug.cgi?id=4811
> 
> GitHub actions with VS2019 and GCC building successfully post these 
> fixes in my fork of edk2-libc.
> VS2019 Github action: https://github.com/jpshivakavi/edk2-libc-
> jp/actions/runs/9969663166
> GCC github action: https://github.com/jpshivakavi/edk2-libc-
> jp/actions/runs/9969663158
> 
> I have also verified the builds with VS2022  in my local workspace.
> 
> Regards,
> JP
> -----Original Message-----
> From: Kinney, Michael D <michael.d.kinney@intel.com>
> Sent: Wednesday, July 17, 2024 9:40 PM
> To: Jayaprakash, N <n.jayaprakash@intel.com>; devel@edk2.groups.io
> Cc: Rebecca Cran <rebecca@bsdio.com>; Kinney, Michael D 
> <michael.d.kinney@intel.com>
> Subject: RE: [edk2-libc Patch 1/1] edk2-libc: Support for compiling 
> Python UEFI interpreter with VS2022
> 
> Can you list the compiler errors that are being fixed by this patch?
> 
> Mike
> 
> > -----Original Message-----
> > From: Jayaprakash, N <n.jayaprakash@intel.com>
> > Sent: Tuesday, July 16, 2024 11:59 PM
> > To: devel@edk2.groups.io
> > Cc: Jayaprakash, N <n.jayaprakash@intel.com>; Rebecca Cran 
> > <rebecca@bsdio.com>; Kinney, Michael D <michael.d.kinney@intel.com>
> > Subject: [edk2-libc Patch 1/1] edk2-libc: Support for compiling 
> > Python UEFI interpreter with VS2022
> >
> > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4811
> >
> > This commit fixes the compilation issues observed with several 
> > components in the edk2-libc repo while trying to compile Python 
> > interpreter for UEFI.
> >
> > Cc: Rebecca Cran <rebecca@bsdio.com>
> > Cc: Michael D Kinney <michael.d.kinney@intel.com>
> > Cc: Jayaprakash N <n.jayaprakash@intel.com>
> > Signed-off-by: Jayaprakash N <n.jayaprakash@intel.com>
> > ---
> >  AppPkg/Applications/Enquire/Enquire.c         | 48 +++++------
> >  .../OrderedCollectionTest.c                   | 10 +--
> >  .../Sockets/DataSource/DataSource.c           | 10 +--
> >  AppPkg/Applications/Sockets/OobRx/OobRx.c     |  4 +-
> >  .../Applications/Sockets/RawIp4Rx/RawIp4Rx.c  |  4 +-
> >  StdLib/BsdSocketLib/getnetbyht.c              |  9 ++-
> >  StdLib/BsdSocketLib/ns_print.c                | 57 +++++++------
> >  StdLib/EfiSocketLib/Socket.c                  | 80 +++++++++----------
> >  8 files changed, 116 insertions(+), 106 deletions(-)
> >
> > diff --git a/AppPkg/Applications/Enquire/Enquire.c
> > b/AppPkg/Applications/Enquire/Enquire.c
> > index 1e1db69..5e34f48 100644
> > --- a/AppPkg/Applications/Enquire/Enquire.c
> > +++ b/AppPkg/Applications/Enquire/Enquire.c
> > @@ -5,7 +5,7 @@
> >      Steven Pemberton, CWI, Amsterdam; "Steven.Pemberton@cwi.nl"
> >      Used with permission.
> >
> > -    Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
> > +    Copyright (c) 2010 - 2024, Intel Corporation. All rights 
> > + reserved.<BR>
> >      This program and the accompanying materials
> >      are licensed and made available under the terms and conditions 
> > of the BSD License
> >      which accompanies this distribution. The full text of the 
> > license may be found at @@ -918,15 +918,15 @@ memeq(  }
> >
> >  Void
> > -farewell(int bugs)
> > +farewell(int bugs_local)
> >  {
> > -  if (bugs == 0) exit(0);
> > +  if (bugs_local == 0) exit(0);
> >    printf("\n%sFor hints on dealing with the ", co);
> > -  if (bugs == 1) printf("problem");
> > -  else printf("%d problems", bugs);
> > +  if (bugs_local == 1) printf("problem");  else printf("%d 
> > + problems", bugs_local);
> >    printf(" above\n   see the section 'TROUBLESHOOTING' in the file ");
> >    printf("%s%s\n", FILENAME, oc);
> > -  exit(bugs);
> > +  exit(bugs_local);
> >  }
> >
> >  /* The program has received a signal where it wasn't expecting one 
> > */ @@ -1927,51 +1927,51 @@ int cprop( void )
> >
> >      if (c_signed) {
> >  #ifndef NO_UC
> > -/* Syntax error? Define NO_UC */ Volatile unsigned char c1, char_max;
> > -      c1=0; char_max=0;
> > +/* Syntax error? Define NO_UC */ Volatile unsigned char c1,
> char_max_local;
> > +      c1=0; char_max_local=0;
> >        c1++;
> > -      if (setjmp(lab)==0) { /* Yields char_max */
> > -        while (c1>char_max) {
> > -          char_max=c1;
> > +      if (setjmp(lab)==0) { /* Yields char_max_local */
> > +        while (c1>char_max_local) {
> > +          char_max_local=c1;
> >            c1++;
> >          }
> >        }
> >        Unexpected(4);
> >        if (sizeof(char) == sizeof(int)) {
> >          u_define(D_UCHAR_MAX, "", "UCHAR", "_MAX",
> > -           (ulong) char_max,
> > +           (ulong) char_max_local,
> >             (ulong) UCHAR_MAX, "");
> >        } else {
> >          i_define(D_UCHAR_MAX, "", "UCHAR", "_MAX",
> > -           (long) char_max, 0L,
> > +           (long) char_max_local, 0L,
> >             (long) UCHAR_MAX, "");
> >        }
> >  #endif
> >      } else {
> >  #ifndef NO_SC
> > -/* Syntax error? Define NO_SC */ Volatile signed char c1, char_max, 
> > char_min;
> > -      c1=0; char_max=0;
> > +/* Syntax error? Define NO_SC */ Volatile signed char c1, 
> > +char_max_local,
> > char_min_local;
> > +      c1=0; char_max_local=0;
> >        c1++;
> > -      if (setjmp(lab)==0) { /* Yields char_max */
> > -        while (c1>char_max) {
> > -          char_max=c1;
> > +      if (setjmp(lab)==0) { /* Yields char_max_local */
> > +        while (c1>char_max_local) {
> > +          char_max_local=c1;
> >            c1++;
> >          }
> >        }
> > -      c1=0; char_min=0;
> > +      c1=0; char_min_local=0;
> >        c1--;
> > -      if (setjmp(lab)==0) { /* Yields char_min */
> > -        while (c1<char_min) {
> > -          char_min=c1;
> > +      if (setjmp(lab)==0) { /* Yields char_min_local */
> > +        while (c1<char_min_local) {
> > +          char_min_local=c1;
> >            c1--;
> >          }
> >        }
> >        Unexpected(5);
> >        i_define(D_SCHAR_MIN, "", "SCHAR", "_MIN",
> > -         (long) char_min, (long) maxint,
> > +         (long) char_min_local, (long) maxint,
> >           (long) SCHAR_MIN, "");
> >        i_define(D_SCHAR_MAX, "", "SCHAR", "_MAX",
> > -         (long) char_max, 0L,
> > +         (long) char_max_local, 0L,
> >           (long) SCHAR_MAX, "");
> >  #endif /* NO_SC */
> >      }
> > diff --git
> > a/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.c
> > b/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.c
> > index 712ee8f..ea44b31 100644
> > ---
> > a/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.c
> > +++ b/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.
> > +++ c
> > @@ -7,7 +7,7 @@
> >    per default, eg. serial line).
> >
> >    Copyright (C) 2014, Red Hat, Inc.
> > -  Copyright (c) 2010 - 2011, Intel Corporation. All rights 
> > reserved.<BR>
> > +  Copyright (c) 2010 - 2024, Intel Corporation. All rights 
> > + reserved.<BR>
> >
> >    SPDX-License-Identifier: BSD-2-Clause-Patent  **/ @@ -458,10
> > +458,10 @@ SetupInputOutput (
> >
> >      case 'h':
> >        fprintf (stderr,
> > -        "%1$s: simple OrderedCollectionLib tester\n"
> > +        "%s: simple OrderedCollectionLib tester\n"
> >          "\n"
> > -        "Usage: 1. %1$s [-i InputFile] [-o OutputFile]\n"
> > -        "       2. %1$s -h\n"
> > +        "Usage: 1. %s [-i InputFile] [-o OutputFile]\n"
> > +        "       2. %s -h\n"
> >          "\n"
> >          "Options:\n"
> >          "  -i InputFile : read commands from InputFile\n"
> > @@ -469,7 +469,7 @@ SetupInputOutput (
> >          "  -o OutputFile: write command responses to OutputFile\n"
> >          "                 (will write to stdout if absent)\n"
> >          "  -h           : print this help and exit\n"
> > -        "\n", ArgV[0]);
> > +        "\n", ArgV[0], ArgV[0], ArgV[0]);
> >        ListCommands ();
> >        exit (EXIT_SUCCESS);
> >
> > diff --git a/AppPkg/Applications/Sockets/DataSource/DataSource.c
> > b/AppPkg/Applications/Sockets/DataSource/DataSource.c
> > index 360689e..0ca6a9a 100644
> > --- a/AppPkg/Applications/Sockets/DataSource/DataSource.c
> > +++ b/AppPkg/Applications/Sockets/DataSource/DataSource.c
> > @@ -1,7 +1,7 @@
> >  /** @file
> >    Data source for network testing.
> >
> > -  Copyright (c) 2011-2012, Intel Corporation. All rights reserved.
> > +  Copyright (c) 2011-2024, Intel Corporation. All rights reserved.
> >    SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> >  **/
> > @@ -538,7 +538,7 @@ EFI_STATUS
> >  SocketSend (
> >    )
> >  {
> > -  size_t BytesSent;
> > +  size_t BytesSentLocal;
> >    EFI_STATUS Status;
> >    EFI_TPL TplPrevious;
> >
> > @@ -562,8 +562,8 @@ SocketSend (
> >      //
> >      //  Send some bytes
> >      //
> > -    BytesSent = write ( Socket, &Buffer[0], sizeof ( Buffer ));
> > -    if ( -1 == BytesSent ) {
> > +    BytesSentLocal = write ( Socket, &Buffer[0], sizeof ( Buffer ));
> > +    if ( -1 == BytesSentLocal ) {
> >        DEBUG (( DEBUG_INFO,
> >                  "ERROR: send failed, errno: %d\r\n",
> >                  errno ));
> > @@ -589,7 +589,7 @@ Status = EFI_NOT_STARTED;
> >      //
> >      //  Account for the data sent
> >      //
> > -    TotalBytesSent += BytesSent;
> > +    TotalBytesSent += BytesSentLocal;
> >
> >      //
> >      //  Release the TimerCallback routine synchronization diff 
> > --git a/AppPkg/Applications/Sockets/OobRx/OobRx.c
> > b/AppPkg/Applications/Sockets/OobRx/OobRx.c
> > index 28e10d8..af07127 100644
> > --- a/AppPkg/Applications/Sockets/OobRx/OobRx.c
> > +++ b/AppPkg/Applications/Sockets/OobRx/OobRx.c
> > @@ -150,7 +150,7 @@ OobRx (
> >              //
> >              //  Display the received OOB data
> >              //
> > -            printf ( "%5Ld OOB bytes received\r\n", (UINT64)BytesReceived
> );
> > +            printf ( "%5llu OOB bytes received\r\n", 
> > + (UINT64)BytesReceived
> > );
> >
> >              //
> >              //  Account for the bytes received @@ -183,7 +183,7 @@ 
> > OobRx (
> >                //
> >                //  Display the received data
> >                //
> > -              printf ( "%4Ld bytes received\r\n", (UINT64)BytesReceived );
> > +              printf ( "%4llu bytes received\r\n", 
> > + (UINT64)BytesReceived );
> >
> >                //
> >                //  Account for the bytes received diff --git 
> > a/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
> > b/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
> > index b52cd38..b190b44 100644
> > --- a/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
> > +++ b/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
> > @@ -1,7 +1,7 @@
> >  /** @file
> >    Raw IP4 receive application
> >
> > -  Copyright (c) 2011-2012, Intel Corporation. All rights reserved.
> > +  Copyright (c) 2011-2024, Intel Corporation. All rights reserved.
> >    SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> >  **/
> > @@ -157,7 +157,7 @@ RawIp4Rx (
> >          //  Display the bytes received
> >          //
> >          if ( 0 == RetVal ) {
> > -          printf ( "Total Bytes Received:  %Ld\r\n", TotalBytesReceived );
> > +          printf ( "Total Bytes Received:  %llu\r\n", 
> > + TotalBytesReceived );
> >          }
> >
> >          //
> > diff --git a/StdLib/BsdSocketLib/getnetbyht.c
> > b/StdLib/BsdSocketLib/getnetbyht.c
> > index 08b8042..5907d44 100644
> > --- a/StdLib/BsdSocketLib/getnetbyht.c
> > +++ b/StdLib/BsdSocketLib/getnetbyht.c
> > @@ -41,6 +41,11 @@
> >   * from getnetent.c	1.1 (Coimbra) 93/06/02
> >   */
> >
> > +/*
> > + * Copyright (c) 2024, Intel Corporation. All rights reserved.
> > + * SPDX-License-Identifier: BSD-2-Clause-Patent  */
> > +
> >  #if defined(LIBC_SCCS) && !defined(lint)
> >  static char sccsid[] = "@(#)getnetent.c	8.1 (Berkeley) 6/4/93";
> >  static char orig_rcsid[] = "From: Id: getnetent.c,v 8.4 1997/06/01
> > 20:34:37 vixie Exp"; @@ -155,13 +160,13 @@ found:
> >  }
> >
> >  struct netent *
> > -_getnetbyhtaddr(register unsigned long net, register int type)
> > +_getnetbyhtaddr(register unsigned long net_local, register int 
> > +type)
> >  {
> >  	register struct netent *p;
> >
> >  	setnetent(_net_stayopen);
> >  	while ( NULL != (p = getnetent()) )
> > -		if (p->n_addrtype == type && p->n_net == net)
> > +        if (p->n_addrtype == type && p->n_net == net_local)
> >  			break;
> >  	if (!_net_stayopen)
> >  		endnetent();
> > diff --git a/StdLib/BsdSocketLib/ns_print.c 
> > b/StdLib/BsdSocketLib/ns_print.c index ea29d01..fb19bf9 100644
> > --- a/StdLib/BsdSocketLib/ns_print.c
> > +++ b/StdLib/BsdSocketLib/ns_print.c
> > @@ -55,6 +55,11 @@
> >   *
> >   */
> >
> > +/*
> > + * Copyright (c) 2024, Intel Corporation. All rights reserved.
> > + * SPDX-License-Identifier: BSD-2-Clause-Patent  */
> > +
> >  /* Import. */
> >
> >  #include <sys/types.h>
> > @@ -211,7 +216,7 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
> >      break;
> >
> >    case ns_t_soa: {
> > -    u_long t;
> > +    u_long t_local;
> >
> >      /* Server name. */
> >      T(addname(msg, msglen, &rdata, origin, &buf, &buflen)); @@
> > -226,45 +231,45 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
> >        goto formerr;
> >
> >      /* Serial number. */
> > -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> > +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> >      T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> > -    len = SPRINTF((tmp, "%lu", (unsigned long)t));
> > +    len = SPRINTF((tmp, "%lu", (unsigned long)t_local));
> >      T(addstr(tmp, len, &buf, &buflen));
> >      T(spaced = addtab(len, 16, spaced, &buf, &buflen));
> >      T(addstr("; serial\n", 9, &buf, &buflen));
> >      spaced = 0;
> >
> >      /* Refresh interval. */
> > -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> > +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> >      T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> > -    T(len = ns_format_ttl(t, buf, buflen));
> > +    T(len = ns_format_ttl(t_local, buf, buflen));
> >      addlen(len, &buf, &buflen);
> >      T(spaced = addtab(len, 16, spaced, &buf, &buflen));
> >      T(addstr("; refresh\n", 10, &buf, &buflen));
> >      spaced = 0;
> >
> >      /* Retry interval. */
> > -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> > +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> >      T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> > -    T(len = ns_format_ttl(t, buf, buflen));
> > +    T(len = ns_format_ttl(t_local, buf, buflen));
> >      addlen(len, &buf, &buflen);
> >      T(spaced = addtab(len, 16, spaced, &buf, &buflen));
> >      T(addstr("; retry\n", 8, &buf, &buflen));
> >      spaced = 0;
> >
> >      /* Expiry. */
> > -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> > +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> >      T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> > -    T(len = ns_format_ttl(t, buf, buflen));
> > +    T(len = ns_format_ttl(t_local, buf, buflen));
> >      addlen(len, &buf, &buflen);
> >      T(spaced = addtab(len, 16, spaced, &buf, &buflen));
> >      T(addstr("; expiry\n", 9, &buf, &buflen));
> >      spaced = 0;
> >
> >      /* Minimum TTL. */
> > -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> > +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> >      T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> > -    T(len = ns_format_ttl(t, buf, buflen));
> > +    T(len = ns_format_ttl(t_local, buf, buflen));
> >      addlen(len, &buf, &buflen);
> >      T(addstr(" )", 2, &buf, &buflen));
> >      T(spaced = addtab(len, 16, spaced, &buf, &buflen)); @@ -276,15
> > +281,15 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
> >    case ns_t_mx:
> >    case ns_t_afsdb:
> >    case ns_t_rt: {
> > -    u_int t;
> > +    u_int t_local;
> >
> >      if (rdlen < NS_INT16SZ)
> >        goto formerr;
> >
> >      /* Priority. */
> > -    t = ns_get16(rdata);
> > +    t_local = ns_get16(rdata);
> >      rdata += NS_INT16SZ;
> > -    len = SPRINTF((tmp, "%u ", (unsigned int)t));
> > +    len = SPRINTF((tmp, "%u ", (unsigned int)t_local));
> >      T(addstr(tmp, len, &buf, &buflen));
> >
> >      /* Target. */
> > @@ -294,15 +299,15 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
> >        }
> >
> >    case ns_t_px: {
> > -    u_int t;
> > +    u_int t_local;
> >
> >      if (rdlen < NS_INT16SZ)
> >        goto formerr;
> >
> >      /* Priority. */
> > -    t = ns_get16(rdata);
> > +    t_local = ns_get16(rdata);
> >      rdata += NS_INT16SZ;
> > -    len = SPRINTF((tmp, "%u ", (unsigned int)t));
> > +    len = SPRINTF((tmp, "%u ", (unsigned int)t_local));
> >      T(addstr(tmp, len, &buf, &buflen));
> >
> >      /* Name1. */
> > @@ -503,33 +508,33 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
> >        }
> >
> >    case ns_t_sig: {
> > -    u_int type, algorithm, labels, footprint;
> > +    u_int type_local, algorithm, labels, footprint;
> >      const char *leader;
> > -    u_long t;
> > +    u_long t_local;
> >      int n;
> >
> >      if (rdlen < 22)
> >        goto formerr;
> >
> >      /* Type covered, Algorithm, Label count, Original TTL. */
> > -          type = ns_get16(rdata);  rdata += NS_INT16SZ;
> > +          type_local = ns_get16(rdata);  rdata += NS_INT16SZ;
> >      algorithm = *rdata++;
> >      labels = *rdata++;
> > -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> > +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> >      len = SPRINTF((tmp, " %s %d %lu ",
> > -                   p_type((int)type), (int)algorithm, (unsigned long)t));
> > +                   p_type((int)type_local), (int)algorithm, 
> > + (unsigned
> > long)t_local));
> >      T(addstr(tmp, len, &buf, &buflen));
> >      if (labels != (u_int)dn_count_labels(name))
> >        goto formerr;
> >
> >      /* Signature expiry. */
> > -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> > -    len = SPRINTF((tmp, "%s ", p_secstodate(t)));
> > +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> > +    len = SPRINTF((tmp, "%s ", p_secstodate(t_local)));
> >      T(addstr(tmp, len, &buf, &buflen));
> >
> >      /* Time signed. */
> > -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> > -    len = SPRINTF((tmp, "%s ", p_secstodate(t)));
> > +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> > +    len = SPRINTF((tmp, "%s ", p_secstodate(t_local)));
> >      T(addstr(tmp, len, &buf, &buflen));
> >
> >      /* Signature Footprint. */
> > diff --git a/StdLib/EfiSocketLib/Socket.c 
> > b/StdLib/EfiSocketLib/Socket.c index ee15b62..5f91744 100644
> > --- a/StdLib/EfiSocketLib/Socket.c
> > +++ b/StdLib/EfiSocketLib/Socket.c
> > @@ -5,7 +5,7 @@
> >    * Bound - pSocket->PortList is not NULL
> >    * Listen - AcceptWait event is not NULL
> >
> > -  Copyright (c) 2010 - 2014, Intel Corporation. All rights 
> > reserved.<BR>
> > +  Copyright (c) 2010 - 2024, Intel Corporation. All rights 
> > + reserved.<BR>
> >    SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> >
> > @@ -570,7 +570,7 @@ EslSocket (
> >    int ApiArraySize;
> >    ESL_SOCKET * pSocket;
> >    EFI_STATUS Status;
> > -  int errno;
> > +  int error_num;
> >
> >    DBG_ENTER ( );
> >
> > @@ -583,7 +583,7 @@ EslSocket (
> >    }
> >
> >    //  Assume success
> > -  errno = 0;
> > +  error_num = 0;
> >    Status = EFI_SUCCESS;
> >
> >    //  Use break instead of goto
> > @@ -595,7 +595,7 @@ EslSocket (
> >        DEBUG (( DEBUG_ERROR | DEBUG_SOCKET,
> >                  "ERROR - Invalid domain value\r\n" ));
> >        Status = EFI_INVALID_PARAMETER;
> > -      errno = EAFNOSUPPORT;
> > +      error_num = EAFNOSUPPORT;
> >        break;
> >      }
> >
> > @@ -625,7 +625,7 @@ EslSocket (
> >                  "ERROR - Invalid type value\r\n" ));
> >        //  The socket type is not supported
> >        Status = EFI_INVALID_PARAMETER;
> > -      errno = EPROTOTYPE;
> > +      error_num = EPROTOTYPE;
> >        break;
> >      }
> >
> > @@ -665,15 +665,15 @@ EslSocket (
> >        if ( ppApiArrayEnd <= ppApiArray ) {
> >          DEBUG (( DEBUG_ERROR | DEBUG_SOCKET,
> >                    "ERROR - The protocol is not supported!\r\n" ));
> > -        errno = EPROTONOSUPPORT;
> > +        error_num = EPROTONOSUPPORT;
> >          break;
> >        }
> >
> >        //  The driver does not support this protocol
> >        DEBUG (( DEBUG_ERROR | DEBUG_SOCKET,
> >                  "ERROR - The protocol does not support this socket 
> > type!\r\n" ));
> > -      errno = EPROTONOSUPPORT;
> > -      errno = EPROTOTYPE;
> > +      error_num = EPROTONOSUPPORT;
> > +      error_num = EPROTOTYPE;
> >        break;
> >      }
> >      //  Save the socket attributes
> > @@ -687,7 +687,7 @@ EslSocket (
> >    }
> >    //  Return the operation status
> >    if ( NULL != pErrno ) {
> > -    *pErrno = errno;
> > +    *pErrno = error_num;
> >    }
> >    DBG_EXIT_STATUS ( Status );
> >    return Status;
> > @@ -1334,7 +1334,7 @@ EslSocketClosePoll (
> >    IN int * pErrno
> >    )
> >  {
> > -  int errno;
> > +  int error_num;
> >    ESL_LAYER * pLayer;
> >    ESL_SOCKET * pNextSocket;
> >    ESL_SOCKET * pSocket;
> > @@ -1346,7 +1346,7 @@ EslSocketClosePoll (
> >    //
> >    //  Assume success
> >    //
> > -  errno = 0;
> > +  error_num = 0;
> >    Status = EFI_SUCCESS;
> >
> >    //
> > @@ -1401,7 +1401,7 @@ EslSocketClosePoll (
> >            //  At least one port is still open
> >            //
> >            Status = EFI_NOT_READY;
> > -          errno = EAGAIN;
> > +          error_num = EAGAIN;
> >          }
> >        }
> >        else {
> > @@ -1409,7 +1409,7 @@ EslSocketClosePoll (
> >          //  SocketCloseStart was not called
> >          //
> >          Status = EFI_NOT_STARTED;
> > -        errno = EPERM;
> > +        error_num = EPERM;
> >        }
> >        break;
> >      }
> > @@ -1428,7 +1428,7 @@ EslSocketClosePoll (
> >      //  Socket not found
> >      //
> >      Status = EFI_NOT_FOUND;
> > -    errno = ENOTSOCK;
> > +    error_num = ENOTSOCK;
> >    }
> >
> >    //
> > @@ -1440,7 +1440,7 @@ EslSocketClosePoll (
> >    //  Return the operation status
> >    //
> >    if ( NULL != pErrno ) {
> > -    *pErrno = errno;
> > +    *pErrno = error_num;
> >    }
> >    DBG_EXIT_STATUS ( Status );
> >    return Status;
> > @@ -1477,7 +1477,7 @@ EslSocketCloseStart (
> >    IN int * pErrno
> >    )
> >  {
> > -  int errno;
> > +  int error_num;
> >    ESL_PORT * pNextPort;
> >    ESL_PORT * pPort;
> >    ESL_SOCKET * pSocket;
> > @@ -1490,7 +1490,7 @@ EslSocketCloseStart (
> >    //  Assume success
> >    //
> >    Status = EFI_SUCCESS;
> > -  errno = 0;
> > +  error_num = 0;
> >
> >    //
> >    //  Synchronize with the socket layer @@ -1521,7 +1521,7 @@ 
> > EslSocketCloseStart (
> >                                           DEBUG_CLOSE | DEBUG_LISTEN 
> > | DEBUG_CONNECTION );
> >        if (( EFI_SUCCESS != Status )
> >          && ( EFI_NOT_READY != Status )) {
> > -        errno = EIO;
> > +        error_num = EIO;
> >          break;
> >        }
> >
> > @@ -1535,12 +1535,12 @@ EslSocketCloseStart (
> >      //  Attempt to finish closing the socket
> >      //
> >      if ( NULL == pPort ) {
> > -      Status = EslSocketClosePoll ( pSocketProtocol, &errno );
> > +      Status = EslSocketClosePoll ( pSocketProtocol, &error_num );
> >      }
> >    }
> >    else {
> >      Status = EFI_NOT_READY;
> > -    errno = EAGAIN;
> > +    error_num = EAGAIN;
> >    }
> >
> >    //
> > @@ -1552,7 +1552,7 @@ EslSocketCloseStart (
> >    //  Return the operation status
> >    //
> >    if ( NULL != pErrno ) {
> > -    *pErrno = errno;
> > +    *pErrno = error_num;
> >    }
> >    DBG_EXIT_STATUS ( Status );
> >    return Status;
> > @@ -1889,7 +1889,7 @@ EslSocketFree (
> >    )
> >  {
> >    EFI_HANDLE ChildHandle;
> > -  int errno;
> > +  int error_num;
> >    ESL_LAYER * pLayer;
> >    ESL_SOCKET * pSocket;
> >    ESL_SOCKET * pSocketPrevious;
> > @@ -1901,7 +1901,7 @@ EslSocketFree (
> >    //
> >    //  Assume failure
> >    //
> > -  errno = EIO;
> > +  error_num = EIO;
> >    pSocket = NULL;
> >    Status = EFI_INVALID_PARAMETER;
> >
> > @@ -1986,7 +1986,7 @@ EslSocketFree (
> >                      "0x%08x: Free pSocket, %d bytes\r\n",
> >                      pSocket,
> >                      sizeof ( *pSocket )));
> > -          errno = 0;
> > +          error_num = 0;
> >          }
> >          else {
> >            DEBUG (( DEBUG_ERROR | DEBUG_POOL, @@ -2014,10 +2014,10 
> > @@ EslSocketFree (
> >    }
> >
> >    //
> > -  //  Return the errno value if possible
> > +  //  Return the error_num value if possible
> >    //
> >    if ( NULL != pErrno ) {
> > -    *pErrno = errno;
> > +    *pErrno = error_num;
> >    }
> >
> >    //
> > @@ -2751,7 +2751,7 @@ EslSocketOptionGet (
> >    IN int * pErrno
> >    )
> >  {
> > -  int errno;
> > +  int error_num;
> >    socklen_t LengthInBytes;
> >    socklen_t MaxBytes;
> >    CONST UINT8 * pOptionData;
> > @@ -2763,7 +2763,7 @@ EslSocketOptionGet (
> >    //
> >    //  Assume failure
> >    //
> > -  errno = EINVAL;
> > +  error_num = EINVAL;
> >    Status = EFI_INVALID_PARAMETER;
> >
> >    //
> > @@ -2795,7 +2795,7 @@ EslSocketOptionGet (
> >                                                   OptionName,
> >                                                   (CONST void ** 
> > __restrict)&pOptionData,
> >                                                   &LengthInBytes );
> > -          errno = pSocket->errno;
> > +          error_num = pSocket->errno;
> >            break;
> >          }
> >          else {
> > @@ -2814,7 +2814,7 @@ EslSocketOptionGet (
> >                    "ERROR - %a does not support any options!\r\n",
> >                    pSocket->pApi->pName ));
> >        }
> > -      errno = ENOPROTOOPT;
> > +      error_num = ENOPROTOOPT;
> >        Status = EFI_INVALID_PARAMETER;
> >        break;
> >
> > @@ -2825,7 +2825,7 @@ EslSocketOptionGet (
> >          //  Socket option not supported
> >          //
> >          DEBUG (( DEBUG_INFO | DEBUG_OPTION, "ERROR - Invalid socket 
> > option!\r\n" ));
> > -        errno = EINVAL;
> > +        error_num = EINVAL;
> >          Status = EFI_INVALID_PARAMETER;
> >          break;
> >
> > @@ -2927,7 +2927,7 @@ EslSocketOptionGet (
> >        if ( LengthInBytes < MaxBytes ) {
> >          ZeroMem ( &((UINT8 *)pOptionValue)[LengthInBytes], MaxBytes 
> > - LengthInBytes );
> >        }
> > -      errno = 0;
> > +      error_num = 0;
> >        Status = EFI_SUCCESS;
> >      }
> >    }
> > @@ -2936,7 +2936,7 @@ EslSocketOptionGet (
> >    //  Return the operation status
> >    //
> >    if ( NULL != pErrno ) {
> > -    *pErrno = errno;
> > +    *pErrno = error_num;
> >    }
> >    DBG_EXIT_STATUS ( Status );
> >    return Status;
> > @@ -2971,7 +2971,7 @@ EslSocketOptionSet (
> >    )
> >  {
> >    BOOLEAN bTrueFalse;
> > -  int errno;
> > +  int error_num;
> >    socklen_t LengthInBytes;
> >    UINT8 * pOptionData;
> >    ESL_SOCKET * pSocket;
> > @@ -2982,7 +2982,7 @@ EslSocketOptionSet (
> >    //
> >    //  Assume failure
> >    //
> > -  errno = EINVAL;
> > +  error_num = EINVAL;
> >    Status = EFI_INVALID_PARAMETER;
> >
> >    //
> > @@ -3015,7 +3015,7 @@ EslSocketOptionSet (
> >                                                     OptionName,
> >                                                     pOptionValue,
> >                                                     OptionLength );
> > -            errno = pSocket->errno;
> > +            error_num = pSocket->errno;
> >              break;
> >            }
> >            else {
> > @@ -3034,7 +3034,7 @@ EslSocketOptionSet (
> >                      "ERROR - %a does not support any options!\r\n",
> >                      pSocket->pApi->pName ));
> >          }
> > -        errno = ENOPROTOOPT;
> > +        error_num = ENOPROTOOPT;
> >          Status = EFI_INVALID_PARAMETER;
> >          break;
> >
> > @@ -3046,7 +3046,7 @@ EslSocketOptionSet (
> >            //
> >            DEBUG (( DEBUG_OPTION,
> >                      "ERROR - Sockets does not support this option!\r\n"
> ));
> > -          errno = EINVAL;
> > +          error_num = EINVAL;
> >            Status = EFI_INVALID_PARAMETER;
> >            break;
> >
> > @@ -3133,7 +3133,7 @@ EslSocketOptionSet (
> >            //  Set the option value
> >            //
> >            CopyMem ( pOptionData, pOptionValue, LengthInBytes );
> > -          errno = 0;
> > +          error_num = 0;
> >            Status = EFI_SUCCESS;
> >          }
> >          else {
> > @@ -3150,7 +3150,7 @@ EslSocketOptionSet (
> >    //  Return the operation status
> >    //
> >    if ( NULL != pErrno ) {
> > -    *pErrno = errno;
> > +    *pErrno = error_num;
> >    }
> >    DBG_EXIT_STATUS ( Status );
> >    return Status;
> > --
> > 2.45.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119972): https://edk2.groups.io/g/devel/message/119972
Mute This Topic: https://groups.io/mt/107267145/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [edk2-devel] [edk2-libc Patch 1/1] edk2-libc: Support for compiling Python UEFI interpreter with VS2022
  2024-07-18 15:44       ` Michael D Kinney
  2024-07-18 16:43         ` Jayaprakash, N
@ 2024-07-20 15:59         ` Jayaprakash, N
  1 sibling, 0 replies; 7+ messages in thread
From: Jayaprakash, N @ 2024-07-20 15:59 UTC (permalink / raw)
  To: Kinney, Michael D, devel@edk2.groups.io; +Cc: Rebecca Cran

Thanks Mike.
I have updated the summary into the commit message and sent patch v2 with the summary of the errors as suggested.

Regards,
JP

-----Original Message-----
From: Kinney, Michael D <michael.d.kinney@intel.com> 
Sent: Thursday, July 18, 2024 9:14 PM
To: Jayaprakash, N <n.jayaprakash@intel.com>; devel@edk2.groups.io
Cc: Rebecca Cran <rebecca@bsdio.com>; Kinney, Michael D <michael.d.kinney@intel.com>
Subject: RE: [edk2-libc Patch 1/1] edk2-libc: Support for compiling Python UEFI interpreter with VS2022

Hi JP,

Thanks for adding details to the BZ.

For the commit message and PR description please add the Summary of the types of compiler warnings being addressed.

For example, I did not know why declaring a different named local variable resolved an issue.

Mike

> -----Original Message-----
> From: Jayaprakash, N <n.jayaprakash@intel.com>
> Sent: Wednesday, July 17, 2024 9:58 PM
> To: Kinney, Michael D <michael.d.kinney@intel.com>; 
> devel@edk2.groups.io
> Cc: Rebecca Cran <rebecca@bsdio.com>
> Subject: RE: [edk2-libc Patch 1/1] edk2-libc: Support for compiling 
> Python UEFI interpreter with VS2022
> 
> Hi Mike,
> 
> It's a big list of warnings treated as errors in VS2022.
> So, I have captured all these compilation issues in the BZ:
> https://bugzilla.tianocore.org/show_bug.cgi?id=4811
> 
> GitHub actions with VS2019 and GCC building successfully post these 
> fixes in my fork of edk2-libc.
> VS2019 Github action: https://github.com/jpshivakavi/edk2-libc-
> jp/actions/runs/9969663166
> GCC github action: https://github.com/jpshivakavi/edk2-libc-
> jp/actions/runs/9969663158
> 
> I have also verified the builds with VS2022  in my local workspace.
> 
> Regards,
> JP
> -----Original Message-----
> From: Kinney, Michael D <michael.d.kinney@intel.com>
> Sent: Wednesday, July 17, 2024 9:40 PM
> To: Jayaprakash, N <n.jayaprakash@intel.com>; devel@edk2.groups.io
> Cc: Rebecca Cran <rebecca@bsdio.com>; Kinney, Michael D 
> <michael.d.kinney@intel.com>
> Subject: RE: [edk2-libc Patch 1/1] edk2-libc: Support for compiling 
> Python UEFI interpreter with VS2022
> 
> Can you list the compiler errors that are being fixed by this patch?
> 
> Mike
> 
> > -----Original Message-----
> > From: Jayaprakash, N <n.jayaprakash@intel.com>
> > Sent: Tuesday, July 16, 2024 11:59 PM
> > To: devel@edk2.groups.io
> > Cc: Jayaprakash, N <n.jayaprakash@intel.com>; Rebecca Cran 
> > <rebecca@bsdio.com>; Kinney, Michael D <michael.d.kinney@intel.com>
> > Subject: [edk2-libc Patch 1/1] edk2-libc: Support for compiling 
> > Python UEFI interpreter with VS2022
> >
> > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4811
> >
> > This commit fixes the compilation issues observed with several 
> > components in the edk2-libc repo while trying to compile Python 
> > interpreter for UEFI.
> >
> > Cc: Rebecca Cran <rebecca@bsdio.com>
> > Cc: Michael D Kinney <michael.d.kinney@intel.com>
> > Cc: Jayaprakash N <n.jayaprakash@intel.com>
> > Signed-off-by: Jayaprakash N <n.jayaprakash@intel.com>
> > ---
> >  AppPkg/Applications/Enquire/Enquire.c         | 48 +++++------
> >  .../OrderedCollectionTest.c                   | 10 +--
> >  .../Sockets/DataSource/DataSource.c           | 10 +--
> >  AppPkg/Applications/Sockets/OobRx/OobRx.c     |  4 +-
> >  .../Applications/Sockets/RawIp4Rx/RawIp4Rx.c  |  4 +-
> >  StdLib/BsdSocketLib/getnetbyht.c              |  9 ++-
> >  StdLib/BsdSocketLib/ns_print.c                | 57 +++++++------
> >  StdLib/EfiSocketLib/Socket.c                  | 80 +++++++++----------
> >  8 files changed, 116 insertions(+), 106 deletions(-)
> >
> > diff --git a/AppPkg/Applications/Enquire/Enquire.c
> > b/AppPkg/Applications/Enquire/Enquire.c
> > index 1e1db69..5e34f48 100644
> > --- a/AppPkg/Applications/Enquire/Enquire.c
> > +++ b/AppPkg/Applications/Enquire/Enquire.c
> > @@ -5,7 +5,7 @@
> >      Steven Pemberton, CWI, Amsterdam; "Steven.Pemberton@cwi.nl"
> >      Used with permission.
> >
> > -    Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
> > +    Copyright (c) 2010 - 2024, Intel Corporation. All rights 
> > + reserved.<BR>
> >      This program and the accompanying materials
> >      are licensed and made available under the terms and conditions 
> > of the BSD License
> >      which accompanies this distribution. The full text of the 
> > license may be found at @@ -918,15 +918,15 @@ memeq(  }
> >
> >  Void
> > -farewell(int bugs)
> > +farewell(int bugs_local)
> >  {
> > -  if (bugs == 0) exit(0);
> > +  if (bugs_local == 0) exit(0);
> >    printf("\n%sFor hints on dealing with the ", co);
> > -  if (bugs == 1) printf("problem");
> > -  else printf("%d problems", bugs);
> > +  if (bugs_local == 1) printf("problem");  else printf("%d 
> > + problems", bugs_local);
> >    printf(" above\n   see the section 'TROUBLESHOOTING' in the file ");
> >    printf("%s%s\n", FILENAME, oc);
> > -  exit(bugs);
> > +  exit(bugs_local);
> >  }
> >
> >  /* The program has received a signal where it wasn't expecting one 
> > */ @@ -1927,51 +1927,51 @@ int cprop( void )
> >
> >      if (c_signed) {
> >  #ifndef NO_UC
> > -/* Syntax error? Define NO_UC */ Volatile unsigned char c1, char_max;
> > -      c1=0; char_max=0;
> > +/* Syntax error? Define NO_UC */ Volatile unsigned char c1,
> char_max_local;
> > +      c1=0; char_max_local=0;
> >        c1++;
> > -      if (setjmp(lab)==0) { /* Yields char_max */
> > -        while (c1>char_max) {
> > -          char_max=c1;
> > +      if (setjmp(lab)==0) { /* Yields char_max_local */
> > +        while (c1>char_max_local) {
> > +          char_max_local=c1;
> >            c1++;
> >          }
> >        }
> >        Unexpected(4);
> >        if (sizeof(char) == sizeof(int)) {
> >          u_define(D_UCHAR_MAX, "", "UCHAR", "_MAX",
> > -           (ulong) char_max,
> > +           (ulong) char_max_local,
> >             (ulong) UCHAR_MAX, "");
> >        } else {
> >          i_define(D_UCHAR_MAX, "", "UCHAR", "_MAX",
> > -           (long) char_max, 0L,
> > +           (long) char_max_local, 0L,
> >             (long) UCHAR_MAX, "");
> >        }
> >  #endif
> >      } else {
> >  #ifndef NO_SC
> > -/* Syntax error? Define NO_SC */ Volatile signed char c1, char_max, 
> > char_min;
> > -      c1=0; char_max=0;
> > +/* Syntax error? Define NO_SC */ Volatile signed char c1, 
> > +char_max_local,
> > char_min_local;
> > +      c1=0; char_max_local=0;
> >        c1++;
> > -      if (setjmp(lab)==0) { /* Yields char_max */
> > -        while (c1>char_max) {
> > -          char_max=c1;
> > +      if (setjmp(lab)==0) { /* Yields char_max_local */
> > +        while (c1>char_max_local) {
> > +          char_max_local=c1;
> >            c1++;
> >          }
> >        }
> > -      c1=0; char_min=0;
> > +      c1=0; char_min_local=0;
> >        c1--;
> > -      if (setjmp(lab)==0) { /* Yields char_min */
> > -        while (c1<char_min) {
> > -          char_min=c1;
> > +      if (setjmp(lab)==0) { /* Yields char_min_local */
> > +        while (c1<char_min_local) {
> > +          char_min_local=c1;
> >            c1--;
> >          }
> >        }
> >        Unexpected(5);
> >        i_define(D_SCHAR_MIN, "", "SCHAR", "_MIN",
> > -         (long) char_min, (long) maxint,
> > +         (long) char_min_local, (long) maxint,
> >           (long) SCHAR_MIN, "");
> >        i_define(D_SCHAR_MAX, "", "SCHAR", "_MAX",
> > -         (long) char_max, 0L,
> > +         (long) char_max_local, 0L,
> >           (long) SCHAR_MAX, "");
> >  #endif /* NO_SC */
> >      }
> > diff --git
> > a/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.c
> > b/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.c
> > index 712ee8f..ea44b31 100644
> > ---
> > a/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.c
> > +++ b/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.
> > +++ c
> > @@ -7,7 +7,7 @@
> >    per default, eg. serial line).
> >
> >    Copyright (C) 2014, Red Hat, Inc.
> > -  Copyright (c) 2010 - 2011, Intel Corporation. All rights 
> > reserved.<BR>
> > +  Copyright (c) 2010 - 2024, Intel Corporation. All rights 
> > + reserved.<BR>
> >
> >    SPDX-License-Identifier: BSD-2-Clause-Patent  **/ @@ -458,10
> > +458,10 @@ SetupInputOutput (
> >
> >      case 'h':
> >        fprintf (stderr,
> > -        "%1$s: simple OrderedCollectionLib tester\n"
> > +        "%s: simple OrderedCollectionLib tester\n"
> >          "\n"
> > -        "Usage: 1. %1$s [-i InputFile] [-o OutputFile]\n"
> > -        "       2. %1$s -h\n"
> > +        "Usage: 1. %s [-i InputFile] [-o OutputFile]\n"
> > +        "       2. %s -h\n"
> >          "\n"
> >          "Options:\n"
> >          "  -i InputFile : read commands from InputFile\n"
> > @@ -469,7 +469,7 @@ SetupInputOutput (
> >          "  -o OutputFile: write command responses to OutputFile\n"
> >          "                 (will write to stdout if absent)\n"
> >          "  -h           : print this help and exit\n"
> > -        "\n", ArgV[0]);
> > +        "\n", ArgV[0], ArgV[0], ArgV[0]);
> >        ListCommands ();
> >        exit (EXIT_SUCCESS);
> >
> > diff --git a/AppPkg/Applications/Sockets/DataSource/DataSource.c
> > b/AppPkg/Applications/Sockets/DataSource/DataSource.c
> > index 360689e..0ca6a9a 100644
> > --- a/AppPkg/Applications/Sockets/DataSource/DataSource.c
> > +++ b/AppPkg/Applications/Sockets/DataSource/DataSource.c
> > @@ -1,7 +1,7 @@
> >  /** @file
> >    Data source for network testing.
> >
> > -  Copyright (c) 2011-2012, Intel Corporation. All rights reserved.
> > +  Copyright (c) 2011-2024, Intel Corporation. All rights reserved.
> >    SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> >  **/
> > @@ -538,7 +538,7 @@ EFI_STATUS
> >  SocketSend (
> >    )
> >  {
> > -  size_t BytesSent;
> > +  size_t BytesSentLocal;
> >    EFI_STATUS Status;
> >    EFI_TPL TplPrevious;
> >
> > @@ -562,8 +562,8 @@ SocketSend (
> >      //
> >      //  Send some bytes
> >      //
> > -    BytesSent = write ( Socket, &Buffer[0], sizeof ( Buffer ));
> > -    if ( -1 == BytesSent ) {
> > +    BytesSentLocal = write ( Socket, &Buffer[0], sizeof ( Buffer ));
> > +    if ( -1 == BytesSentLocal ) {
> >        DEBUG (( DEBUG_INFO,
> >                  "ERROR: send failed, errno: %d\r\n",
> >                  errno ));
> > @@ -589,7 +589,7 @@ Status = EFI_NOT_STARTED;
> >      //
> >      //  Account for the data sent
> >      //
> > -    TotalBytesSent += BytesSent;
> > +    TotalBytesSent += BytesSentLocal;
> >
> >      //
> >      //  Release the TimerCallback routine synchronization diff 
> > --git a/AppPkg/Applications/Sockets/OobRx/OobRx.c
> > b/AppPkg/Applications/Sockets/OobRx/OobRx.c
> > index 28e10d8..af07127 100644
> > --- a/AppPkg/Applications/Sockets/OobRx/OobRx.c
> > +++ b/AppPkg/Applications/Sockets/OobRx/OobRx.c
> > @@ -150,7 +150,7 @@ OobRx (
> >              //
> >              //  Display the received OOB data
> >              //
> > -            printf ( "%5Ld OOB bytes received\r\n", (UINT64)BytesReceived
> );
> > +            printf ( "%5llu OOB bytes received\r\n", 
> > + (UINT64)BytesReceived
> > );
> >
> >              //
> >              //  Account for the bytes received @@ -183,7 +183,7 @@ 
> > OobRx (
> >                //
> >                //  Display the received data
> >                //
> > -              printf ( "%4Ld bytes received\r\n", (UINT64)BytesReceived );
> > +              printf ( "%4llu bytes received\r\n", 
> > + (UINT64)BytesReceived );
> >
> >                //
> >                //  Account for the bytes received diff --git 
> > a/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
> > b/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
> > index b52cd38..b190b44 100644
> > --- a/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
> > +++ b/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
> > @@ -1,7 +1,7 @@
> >  /** @file
> >    Raw IP4 receive application
> >
> > -  Copyright (c) 2011-2012, Intel Corporation. All rights reserved.
> > +  Copyright (c) 2011-2024, Intel Corporation. All rights reserved.
> >    SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> >  **/
> > @@ -157,7 +157,7 @@ RawIp4Rx (
> >          //  Display the bytes received
> >          //
> >          if ( 0 == RetVal ) {
> > -          printf ( "Total Bytes Received:  %Ld\r\n", TotalBytesReceived );
> > +          printf ( "Total Bytes Received:  %llu\r\n", 
> > + TotalBytesReceived );
> >          }
> >
> >          //
> > diff --git a/StdLib/BsdSocketLib/getnetbyht.c
> > b/StdLib/BsdSocketLib/getnetbyht.c
> > index 08b8042..5907d44 100644
> > --- a/StdLib/BsdSocketLib/getnetbyht.c
> > +++ b/StdLib/BsdSocketLib/getnetbyht.c
> > @@ -41,6 +41,11 @@
> >   * from getnetent.c	1.1 (Coimbra) 93/06/02
> >   */
> >
> > +/*
> > + * Copyright (c) 2024, Intel Corporation. All rights reserved.
> > + * SPDX-License-Identifier: BSD-2-Clause-Patent  */
> > +
> >  #if defined(LIBC_SCCS) && !defined(lint)
> >  static char sccsid[] = "@(#)getnetent.c	8.1 (Berkeley) 6/4/93";
> >  static char orig_rcsid[] = "From: Id: getnetent.c,v 8.4 1997/06/01
> > 20:34:37 vixie Exp"; @@ -155,13 +160,13 @@ found:
> >  }
> >
> >  struct netent *
> > -_getnetbyhtaddr(register unsigned long net, register int type)
> > +_getnetbyhtaddr(register unsigned long net_local, register int 
> > +type)
> >  {
> >  	register struct netent *p;
> >
> >  	setnetent(_net_stayopen);
> >  	while ( NULL != (p = getnetent()) )
> > -		if (p->n_addrtype == type && p->n_net == net)
> > +        if (p->n_addrtype == type && p->n_net == net_local)
> >  			break;
> >  	if (!_net_stayopen)
> >  		endnetent();
> > diff --git a/StdLib/BsdSocketLib/ns_print.c 
> > b/StdLib/BsdSocketLib/ns_print.c index ea29d01..fb19bf9 100644
> > --- a/StdLib/BsdSocketLib/ns_print.c
> > +++ b/StdLib/BsdSocketLib/ns_print.c
> > @@ -55,6 +55,11 @@
> >   *
> >   */
> >
> > +/*
> > + * Copyright (c) 2024, Intel Corporation. All rights reserved.
> > + * SPDX-License-Identifier: BSD-2-Clause-Patent  */
> > +
> >  /* Import. */
> >
> >  #include <sys/types.h>
> > @@ -211,7 +216,7 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
> >      break;
> >
> >    case ns_t_soa: {
> > -    u_long t;
> > +    u_long t_local;
> >
> >      /* Server name. */
> >      T(addname(msg, msglen, &rdata, origin, &buf, &buflen)); @@
> > -226,45 +231,45 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
> >        goto formerr;
> >
> >      /* Serial number. */
> > -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> > +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> >      T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> > -    len = SPRINTF((tmp, "%lu", (unsigned long)t));
> > +    len = SPRINTF((tmp, "%lu", (unsigned long)t_local));
> >      T(addstr(tmp, len, &buf, &buflen));
> >      T(spaced = addtab(len, 16, spaced, &buf, &buflen));
> >      T(addstr("; serial\n", 9, &buf, &buflen));
> >      spaced = 0;
> >
> >      /* Refresh interval. */
> > -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> > +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> >      T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> > -    T(len = ns_format_ttl(t, buf, buflen));
> > +    T(len = ns_format_ttl(t_local, buf, buflen));
> >      addlen(len, &buf, &buflen);
> >      T(spaced = addtab(len, 16, spaced, &buf, &buflen));
> >      T(addstr("; refresh\n", 10, &buf, &buflen));
> >      spaced = 0;
> >
> >      /* Retry interval. */
> > -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> > +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> >      T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> > -    T(len = ns_format_ttl(t, buf, buflen));
> > +    T(len = ns_format_ttl(t_local, buf, buflen));
> >      addlen(len, &buf, &buflen);
> >      T(spaced = addtab(len, 16, spaced, &buf, &buflen));
> >      T(addstr("; retry\n", 8, &buf, &buflen));
> >      spaced = 0;
> >
> >      /* Expiry. */
> > -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> > +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> >      T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> > -    T(len = ns_format_ttl(t, buf, buflen));
> > +    T(len = ns_format_ttl(t_local, buf, buflen));
> >      addlen(len, &buf, &buflen);
> >      T(spaced = addtab(len, 16, spaced, &buf, &buflen));
> >      T(addstr("; expiry\n", 9, &buf, &buflen));
> >      spaced = 0;
> >
> >      /* Minimum TTL. */
> > -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> > +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> >      T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> > -    T(len = ns_format_ttl(t, buf, buflen));
> > +    T(len = ns_format_ttl(t_local, buf, buflen));
> >      addlen(len, &buf, &buflen);
> >      T(addstr(" )", 2, &buf, &buflen));
> >      T(spaced = addtab(len, 16, spaced, &buf, &buflen)); @@ -276,15
> > +281,15 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
> >    case ns_t_mx:
> >    case ns_t_afsdb:
> >    case ns_t_rt: {
> > -    u_int t;
> > +    u_int t_local;
> >
> >      if (rdlen < NS_INT16SZ)
> >        goto formerr;
> >
> >      /* Priority. */
> > -    t = ns_get16(rdata);
> > +    t_local = ns_get16(rdata);
> >      rdata += NS_INT16SZ;
> > -    len = SPRINTF((tmp, "%u ", (unsigned int)t));
> > +    len = SPRINTF((tmp, "%u ", (unsigned int)t_local));
> >      T(addstr(tmp, len, &buf, &buflen));
> >
> >      /* Target. */
> > @@ -294,15 +299,15 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
> >        }
> >
> >    case ns_t_px: {
> > -    u_int t;
> > +    u_int t_local;
> >
> >      if (rdlen < NS_INT16SZ)
> >        goto formerr;
> >
> >      /* Priority. */
> > -    t = ns_get16(rdata);
> > +    t_local = ns_get16(rdata);
> >      rdata += NS_INT16SZ;
> > -    len = SPRINTF((tmp, "%u ", (unsigned int)t));
> > +    len = SPRINTF((tmp, "%u ", (unsigned int)t_local));
> >      T(addstr(tmp, len, &buf, &buflen));
> >
> >      /* Name1. */
> > @@ -503,33 +508,33 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
> >        }
> >
> >    case ns_t_sig: {
> > -    u_int type, algorithm, labels, footprint;
> > +    u_int type_local, algorithm, labels, footprint;
> >      const char *leader;
> > -    u_long t;
> > +    u_long t_local;
> >      int n;
> >
> >      if (rdlen < 22)
> >        goto formerr;
> >
> >      /* Type covered, Algorithm, Label count, Original TTL. */
> > -          type = ns_get16(rdata);  rdata += NS_INT16SZ;
> > +          type_local = ns_get16(rdata);  rdata += NS_INT16SZ;
> >      algorithm = *rdata++;
> >      labels = *rdata++;
> > -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> > +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> >      len = SPRINTF((tmp, " %s %d %lu ",
> > -                   p_type((int)type), (int)algorithm, (unsigned long)t));
> > +                   p_type((int)type_local), (int)algorithm, 
> > + (unsigned
> > long)t_local));
> >      T(addstr(tmp, len, &buf, &buflen));
> >      if (labels != (u_int)dn_count_labels(name))
> >        goto formerr;
> >
> >      /* Signature expiry. */
> > -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> > -    len = SPRINTF((tmp, "%s ", p_secstodate(t)));
> > +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> > +    len = SPRINTF((tmp, "%s ", p_secstodate(t_local)));
> >      T(addstr(tmp, len, &buf, &buflen));
> >
> >      /* Time signed. */
> > -    t = ns_get32(rdata);  rdata += NS_INT32SZ;
> > -    len = SPRINTF((tmp, "%s ", p_secstodate(t)));
> > +    t_local = ns_get32(rdata);  rdata += NS_INT32SZ;
> > +    len = SPRINTF((tmp, "%s ", p_secstodate(t_local)));
> >      T(addstr(tmp, len, &buf, &buflen));
> >
> >      /* Signature Footprint. */
> > diff --git a/StdLib/EfiSocketLib/Socket.c 
> > b/StdLib/EfiSocketLib/Socket.c index ee15b62..5f91744 100644
> > --- a/StdLib/EfiSocketLib/Socket.c
> > +++ b/StdLib/EfiSocketLib/Socket.c
> > @@ -5,7 +5,7 @@
> >    * Bound - pSocket->PortList is not NULL
> >    * Listen - AcceptWait event is not NULL
> >
> > -  Copyright (c) 2010 - 2014, Intel Corporation. All rights 
> > reserved.<BR>
> > +  Copyright (c) 2010 - 2024, Intel Corporation. All rights 
> > + reserved.<BR>
> >    SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> >
> > @@ -570,7 +570,7 @@ EslSocket (
> >    int ApiArraySize;
> >    ESL_SOCKET * pSocket;
> >    EFI_STATUS Status;
> > -  int errno;
> > +  int error_num;
> >
> >    DBG_ENTER ( );
> >
> > @@ -583,7 +583,7 @@ EslSocket (
> >    }
> >
> >    //  Assume success
> > -  errno = 0;
> > +  error_num = 0;
> >    Status = EFI_SUCCESS;
> >
> >    //  Use break instead of goto
> > @@ -595,7 +595,7 @@ EslSocket (
> >        DEBUG (( DEBUG_ERROR | DEBUG_SOCKET,
> >                  "ERROR - Invalid domain value\r\n" ));
> >        Status = EFI_INVALID_PARAMETER;
> > -      errno = EAFNOSUPPORT;
> > +      error_num = EAFNOSUPPORT;
> >        break;
> >      }
> >
> > @@ -625,7 +625,7 @@ EslSocket (
> >                  "ERROR - Invalid type value\r\n" ));
> >        //  The socket type is not supported
> >        Status = EFI_INVALID_PARAMETER;
> > -      errno = EPROTOTYPE;
> > +      error_num = EPROTOTYPE;
> >        break;
> >      }
> >
> > @@ -665,15 +665,15 @@ EslSocket (
> >        if ( ppApiArrayEnd <= ppApiArray ) {
> >          DEBUG (( DEBUG_ERROR | DEBUG_SOCKET,
> >                    "ERROR - The protocol is not supported!\r\n" ));
> > -        errno = EPROTONOSUPPORT;
> > +        error_num = EPROTONOSUPPORT;
> >          break;
> >        }
> >
> >        //  The driver does not support this protocol
> >        DEBUG (( DEBUG_ERROR | DEBUG_SOCKET,
> >                  "ERROR - The protocol does not support this socket 
> > type!\r\n" ));
> > -      errno = EPROTONOSUPPORT;
> > -      errno = EPROTOTYPE;
> > +      error_num = EPROTONOSUPPORT;
> > +      error_num = EPROTOTYPE;
> >        break;
> >      }
> >      //  Save the socket attributes
> > @@ -687,7 +687,7 @@ EslSocket (
> >    }
> >    //  Return the operation status
> >    if ( NULL != pErrno ) {
> > -    *pErrno = errno;
> > +    *pErrno = error_num;
> >    }
> >    DBG_EXIT_STATUS ( Status );
> >    return Status;
> > @@ -1334,7 +1334,7 @@ EslSocketClosePoll (
> >    IN int * pErrno
> >    )
> >  {
> > -  int errno;
> > +  int error_num;
> >    ESL_LAYER * pLayer;
> >    ESL_SOCKET * pNextSocket;
> >    ESL_SOCKET * pSocket;
> > @@ -1346,7 +1346,7 @@ EslSocketClosePoll (
> >    //
> >    //  Assume success
> >    //
> > -  errno = 0;
> > +  error_num = 0;
> >    Status = EFI_SUCCESS;
> >
> >    //
> > @@ -1401,7 +1401,7 @@ EslSocketClosePoll (
> >            //  At least one port is still open
> >            //
> >            Status = EFI_NOT_READY;
> > -          errno = EAGAIN;
> > +          error_num = EAGAIN;
> >          }
> >        }
> >        else {
> > @@ -1409,7 +1409,7 @@ EslSocketClosePoll (
> >          //  SocketCloseStart was not called
> >          //
> >          Status = EFI_NOT_STARTED;
> > -        errno = EPERM;
> > +        error_num = EPERM;
> >        }
> >        break;
> >      }
> > @@ -1428,7 +1428,7 @@ EslSocketClosePoll (
> >      //  Socket not found
> >      //
> >      Status = EFI_NOT_FOUND;
> > -    errno = ENOTSOCK;
> > +    error_num = ENOTSOCK;
> >    }
> >
> >    //
> > @@ -1440,7 +1440,7 @@ EslSocketClosePoll (
> >    //  Return the operation status
> >    //
> >    if ( NULL != pErrno ) {
> > -    *pErrno = errno;
> > +    *pErrno = error_num;
> >    }
> >    DBG_EXIT_STATUS ( Status );
> >    return Status;
> > @@ -1477,7 +1477,7 @@ EslSocketCloseStart (
> >    IN int * pErrno
> >    )
> >  {
> > -  int errno;
> > +  int error_num;
> >    ESL_PORT * pNextPort;
> >    ESL_PORT * pPort;
> >    ESL_SOCKET * pSocket;
> > @@ -1490,7 +1490,7 @@ EslSocketCloseStart (
> >    //  Assume success
> >    //
> >    Status = EFI_SUCCESS;
> > -  errno = 0;
> > +  error_num = 0;
> >
> >    //
> >    //  Synchronize with the socket layer @@ -1521,7 +1521,7 @@ 
> > EslSocketCloseStart (
> >                                           DEBUG_CLOSE | DEBUG_LISTEN 
> > | DEBUG_CONNECTION );
> >        if (( EFI_SUCCESS != Status )
> >          && ( EFI_NOT_READY != Status )) {
> > -        errno = EIO;
> > +        error_num = EIO;
> >          break;
> >        }
> >
> > @@ -1535,12 +1535,12 @@ EslSocketCloseStart (
> >      //  Attempt to finish closing the socket
> >      //
> >      if ( NULL == pPort ) {
> > -      Status = EslSocketClosePoll ( pSocketProtocol, &errno );
> > +      Status = EslSocketClosePoll ( pSocketProtocol, &error_num );
> >      }
> >    }
> >    else {
> >      Status = EFI_NOT_READY;
> > -    errno = EAGAIN;
> > +    error_num = EAGAIN;
> >    }
> >
> >    //
> > @@ -1552,7 +1552,7 @@ EslSocketCloseStart (
> >    //  Return the operation status
> >    //
> >    if ( NULL != pErrno ) {
> > -    *pErrno = errno;
> > +    *pErrno = error_num;
> >    }
> >    DBG_EXIT_STATUS ( Status );
> >    return Status;
> > @@ -1889,7 +1889,7 @@ EslSocketFree (
> >    )
> >  {
> >    EFI_HANDLE ChildHandle;
> > -  int errno;
> > +  int error_num;
> >    ESL_LAYER * pLayer;
> >    ESL_SOCKET * pSocket;
> >    ESL_SOCKET * pSocketPrevious;
> > @@ -1901,7 +1901,7 @@ EslSocketFree (
> >    //
> >    //  Assume failure
> >    //
> > -  errno = EIO;
> > +  error_num = EIO;
> >    pSocket = NULL;
> >    Status = EFI_INVALID_PARAMETER;
> >
> > @@ -1986,7 +1986,7 @@ EslSocketFree (
> >                      "0x%08x: Free pSocket, %d bytes\r\n",
> >                      pSocket,
> >                      sizeof ( *pSocket )));
> > -          errno = 0;
> > +          error_num = 0;
> >          }
> >          else {
> >            DEBUG (( DEBUG_ERROR | DEBUG_POOL, @@ -2014,10 +2014,10 
> > @@ EslSocketFree (
> >    }
> >
> >    //
> > -  //  Return the errno value if possible
> > +  //  Return the error_num value if possible
> >    //
> >    if ( NULL != pErrno ) {
> > -    *pErrno = errno;
> > +    *pErrno = error_num;
> >    }
> >
> >    //
> > @@ -2751,7 +2751,7 @@ EslSocketOptionGet (
> >    IN int * pErrno
> >    )
> >  {
> > -  int errno;
> > +  int error_num;
> >    socklen_t LengthInBytes;
> >    socklen_t MaxBytes;
> >    CONST UINT8 * pOptionData;
> > @@ -2763,7 +2763,7 @@ EslSocketOptionGet (
> >    //
> >    //  Assume failure
> >    //
> > -  errno = EINVAL;
> > +  error_num = EINVAL;
> >    Status = EFI_INVALID_PARAMETER;
> >
> >    //
> > @@ -2795,7 +2795,7 @@ EslSocketOptionGet (
> >                                                   OptionName,
> >                                                   (CONST void ** 
> > __restrict)&pOptionData,
> >                                                   &LengthInBytes );
> > -          errno = pSocket->errno;
> > +          error_num = pSocket->errno;
> >            break;
> >          }
> >          else {
> > @@ -2814,7 +2814,7 @@ EslSocketOptionGet (
> >                    "ERROR - %a does not support any options!\r\n",
> >                    pSocket->pApi->pName ));
> >        }
> > -      errno = ENOPROTOOPT;
> > +      error_num = ENOPROTOOPT;
> >        Status = EFI_INVALID_PARAMETER;
> >        break;
> >
> > @@ -2825,7 +2825,7 @@ EslSocketOptionGet (
> >          //  Socket option not supported
> >          //
> >          DEBUG (( DEBUG_INFO | DEBUG_OPTION, "ERROR - Invalid socket 
> > option!\r\n" ));
> > -        errno = EINVAL;
> > +        error_num = EINVAL;
> >          Status = EFI_INVALID_PARAMETER;
> >          break;
> >
> > @@ -2927,7 +2927,7 @@ EslSocketOptionGet (
> >        if ( LengthInBytes < MaxBytes ) {
> >          ZeroMem ( &((UINT8 *)pOptionValue)[LengthInBytes], MaxBytes 
> > - LengthInBytes );
> >        }
> > -      errno = 0;
> > +      error_num = 0;
> >        Status = EFI_SUCCESS;
> >      }
> >    }
> > @@ -2936,7 +2936,7 @@ EslSocketOptionGet (
> >    //  Return the operation status
> >    //
> >    if ( NULL != pErrno ) {
> > -    *pErrno = errno;
> > +    *pErrno = error_num;
> >    }
> >    DBG_EXIT_STATUS ( Status );
> >    return Status;
> > @@ -2971,7 +2971,7 @@ EslSocketOptionSet (
> >    )
> >  {
> >    BOOLEAN bTrueFalse;
> > -  int errno;
> > +  int error_num;
> >    socklen_t LengthInBytes;
> >    UINT8 * pOptionData;
> >    ESL_SOCKET * pSocket;
> > @@ -2982,7 +2982,7 @@ EslSocketOptionSet (
> >    //
> >    //  Assume failure
> >    //
> > -  errno = EINVAL;
> > +  error_num = EINVAL;
> >    Status = EFI_INVALID_PARAMETER;
> >
> >    //
> > @@ -3015,7 +3015,7 @@ EslSocketOptionSet (
> >                                                     OptionName,
> >                                                     pOptionValue,
> >                                                     OptionLength );
> > -            errno = pSocket->errno;
> > +            error_num = pSocket->errno;
> >              break;
> >            }
> >            else {
> > @@ -3034,7 +3034,7 @@ EslSocketOptionSet (
> >                      "ERROR - %a does not support any options!\r\n",
> >                      pSocket->pApi->pName ));
> >          }
> > -        errno = ENOPROTOOPT;
> > +        error_num = ENOPROTOOPT;
> >          Status = EFI_INVALID_PARAMETER;
> >          break;
> >
> > @@ -3046,7 +3046,7 @@ EslSocketOptionSet (
> >            //
> >            DEBUG (( DEBUG_OPTION,
> >                      "ERROR - Sockets does not support this option!\r\n"
> ));
> > -          errno = EINVAL;
> > +          error_num = EINVAL;
> >            Status = EFI_INVALID_PARAMETER;
> >            break;
> >
> > @@ -3133,7 +3133,7 @@ EslSocketOptionSet (
> >            //  Set the option value
> >            //
> >            CopyMem ( pOptionData, pOptionValue, LengthInBytes );
> > -          errno = 0;
> > +          error_num = 0;
> >            Status = EFI_SUCCESS;
> >          }
> >          else {
> > @@ -3150,7 +3150,7 @@ EslSocketOptionSet (
> >    //  Return the operation status
> >    //
> >    if ( NULL != pErrno ) {
> > -    *pErrno = errno;
> > +    *pErrno = error_num;
> >    }
> >    DBG_EXIT_STATUS ( Status );
> >    return Status;
> > --
> > 2.45.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119989): https://edk2.groups.io/g/devel/message/119989
Mute This Topic: https://groups.io/mt/107267145/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-07-20 15:59 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-17  6:59 [edk2-devel] [edk2-libc Patch 0/1] Support for compiling Python UEFI interpreter with VS2022 Jayaprakash, N
2024-07-17  6:59 ` [edk2-devel] [edk2-libc Patch 1/1] edk2-libc: " Jayaprakash, N
2024-07-17 16:09   ` Michael D Kinney
2024-07-18  4:58     ` Jayaprakash, N
2024-07-18 15:44       ` Michael D Kinney
2024-07-18 16:43         ` Jayaprakash, N
2024-07-20 15:59         ` Jayaprakash, N

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox