X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=CryptoPkg%2FLibrary%2FIntrinsicLib%2FMemoryIntrinsics.c;h=94fe341bec9d1dceade0fa0acb643afa67fce7df;hp=e095f9aa0dd64c20a6b96a190f8ee14f9b492780;hb=HEAD;hpb=108ff4a04b051eea61fa5440bb1101b309ac8713
diff --git a/CryptoPkg/Library/IntrinsicLib/MemoryIntrinsics.c b/CryptoPkg/Library/IntrinsicLib/MemoryIntrinsics.c
index e095f9aa0d..611e9fd773 100644
--- a/CryptoPkg/Library/IntrinsicLib/MemoryIntrinsics.c
+++ b/CryptoPkg/Library/IntrinsicLib/MemoryIntrinsics.c
@@ -2,14 +2,8 @@
Intrinsic Memory Routines Wrapper Implementation for OpenSSL-based
Cryptographic Library.
-Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.
-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
-http://opensource.org/licenses/bsd-license.php
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.
+SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -17,19 +11,30 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include
#include
-typedef UINTN size_t;
+typedef UINTN size_t;
+
+#if defined (__GNUC__) || defined (__clang__)
+#define GLOBAL_USED __attribute__((used))
+#else
+#define GLOBAL_USED
+#endif
/* OpenSSL will use floating point support, and C compiler produces the _fltused
symbol by default. Simply define this symbol here to satisfy the linker. */
-int _fltused = 1;
+int GLOBAL_USED _fltused = 1;
/* Sets buffers to a specified character */
-void * memset (void *dest, int ch, size_t count)
+void *
+memset (
+ void *dest,
+ int ch,
+ size_t count
+ )
{
//
// NOTE: Here we use one base implementation for memset, instead of the direct
- // optimized SetMem() wrapper. Because the IntrinsicLib has to be built
- // without whole program optimization option, and there will be some
+ // optimized SetMem() wrapper. Because the IntrinsicLib has to be built
+ // without whole program optimization option, and there will be some
// potential register usage errors when calling other optimized codes.
//
@@ -44,17 +49,26 @@ void * memset (void *dest, int ch, size_t count)
while (count-- != 0) {
*(Pointer++) = (UINT8)ch;
}
-
+
return dest;
}
/* Compare bytes in two buffers. */
-int memcmp (const void *buf1, const void *buf2, size_t count)
+int
+memcmp (
+ const void *buf1,
+ const void *buf2,
+ size_t count
+ )
{
- return (int)CompareMem(buf1, buf2, count);
+ return (int)CompareMem (buf1, buf2, count);
}
-int strcmp (const char *s1, const char *s2)
+int
+strcmp (
+ const char *s1,
+ const char *s2
+ )
{
- return (int)AsciiStrCmp(s1, s2);
+ return (int)AsciiStrCmp (s1, s2);
}