Cryptographic Library.\r
\r
Copyright (c) 2010, 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
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
#include <Base.h>\r
#include <Library/BaseMemoryLib.h>\r
\r
+#if defined (__clang__) && !defined (__APPLE__)\r
+\r
/* Copies bytes between buffers */\r
-void * memcpy (void *dest, const void *src, unsigned int count)\r
+static __attribute__ ((__used__))\r
+void *\r
+__memcpy (\r
+ void *dest,\r
+ const void *src,\r
+ unsigned int count\r
+ )\r
{\r
return CopyMem (dest, src, (UINTN)count);\r
}\r
+\r
+__attribute__ ((__alias__ ("__memcpy")))\r
+void *\r
+memcpy (\r
+ void *dest,\r
+ const void *src,\r
+ unsigned int count\r
+ );\r
+\r
+#else\r
+/* Copies bytes between buffers */\r
+void *\r
+memcpy (\r
+ void *dest,\r
+ const void *src,\r
+ unsigned int count\r
+ )\r
+{\r
+ return CopyMem (dest, src, (UINTN)count);\r
+}\r
+\r
+#endif\r