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); }