Intrinsic Memory Routines Wrapper Implementation for OpenSSL-based\r
Cryptographic Library.\r
\r
-Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution. The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
#include <Library/BaseMemoryLib.h>\r
#include <Library/BaseLib.h>\r
\r
-typedef UINTN size_t;\r
+typedef UINTN size_t;\r
+\r
+#if defined (__GNUC__) || defined (__clang__)\r
+#define GLOBAL_USED __attribute__((used))\r
+#else\r
+#define GLOBAL_USED\r
+#endif\r
\r
/* OpenSSL will use floating point support, and C compiler produces the _fltused\r
symbol by default. Simply define this symbol here to satisfy the linker. */\r
-int _fltused = 1;\r
+int GLOBAL_USED _fltused = 1;\r
\r
/* Sets buffers to a specified character */\r
-void * memset (void *dest, int ch, size_t count)\r
+void *\r
+memset (\r
+ void *dest,\r
+ int ch,\r
+ size_t count\r
+ )\r
{\r
//\r
// NOTE: Here we use one base implementation for memset, instead of the direct\r
}\r
\r
/* Compare bytes in two buffers. */\r
-int memcmp (const void *buf1, const void *buf2, size_t count)\r
+int\r
+memcmp (\r
+ const void *buf1,\r
+ const void *buf2,\r
+ size_t count\r
+ )\r
{\r
- return (int)CompareMem(buf1, buf2, count);\r
+ return (int)CompareMem (buf1, buf2, count);\r
}\r
\r
-int strcmp (const char *s1, const char *s2)\r
+int\r
+strcmp (\r
+ const char *s1,\r
+ const char *s2\r
+ )\r
{\r
- return (int)AsciiStrCmp(s1, s2);\r
+ return (int)AsciiStrCmp (s1, s2);\r
}\r