]> git.proxmox.com Git - mirror_edk2.git/blame - ArmPkg/Library/CompilerIntrinsicsLib/memcpy.c
ArmPkg: Fix Ecc error 3002 in CompilerIntrinsicsLib
[mirror_edk2.git] / ArmPkg / Library / CompilerIntrinsicsLib / memcpy.c
CommitLineData
a0cf6b8d
AB
1//------------------------------------------------------------------------------\r
2//\r
3// Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>\r
53aabb97 4// Copyright (c) 2021, Arm Limited. All rights reserved.<BR>\r
a0cf6b8d 5//\r
4059386c 6// SPDX-License-Identifier: BSD-2-Clause-Patent\r
a0cf6b8d
AB
7//\r
8//------------------------------------------------------------------------------\r
9\r
10typedef __SIZE_TYPE__ size_t;\r
11\r
a683ceca 12static void __memcpy(void *dest, const void *src, size_t n)\r
a0cf6b8d
AB
13{\r
14 unsigned char *d = dest;\r
15 unsigned char const *s = src;\r
16\r
53aabb97 17 while (n-- != 0) {\r
a0cf6b8d 18 *d++ = *s++;\r
53aabb97 19 }\r
a683ceca 20}\r
a0cf6b8d 21\r
a683ceca
MZ
22void *memcpy(void *dest, const void *src, size_t n)\r
23{\r
24 __memcpy(dest, src, n);\r
a0cf6b8d
AB
25 return dest;\r
26}\r
27\r
a0cf6b8d
AB
28#ifdef __arm__\r
29\r
30__attribute__((__alias__("__memcpy")))\r
31void __aeabi_memcpy(void *dest, const void *src, size_t n);\r
32\r
33__attribute__((__alias__("__memcpy")))\r
34void __aeabi_memcpy4(void *dest, const void *src, size_t n);\r
35\r
36__attribute__((__alias__("__memcpy")))\r
37void __aeabi_memcpy8(void *dest, const void *src, size_t n);\r
38\r
39#endif\r