#include <stdlib.h>\r
#include <string.h>\r
\r
-/** Do not define memcpy for IPF+GCC or ARM+GCC builds.\r
+/** Do not define memcpy for IPF+GCC or ARM/AARCH64+GCC builds.\r
For IPF, using a GCC compiler, the memcpy function is converted to\r
CopyMem by objcpy during build.\r
- For ARM, the memcpy function is provided by the CompilerIntrinsics library.\r
+ For ARM/AARCH64, the memcpy function is provided by the CompilerIntrinsics library.\r
**/\r
-#if !((defined(MDE_CPU_IPF) || defined(MDE_CPU_ARM)) && defined(__GNUC__))\r
+#if !((defined(MDE_CPU_IPF) || defined(MDE_CPU_ARM) || defined(MDE_CPU_AARCH64)) && defined(__GNUC__))\r
/** The memcpy function copies n characters from the object pointed to by s2\r
into the object pointed to by s1.\r
\r
}\r
#endif /* !(defined(MDE_CPU_IPF) && defined(__GCC)) */\r
\r
+#if !(defined(MDE_CPU_ARM) && defined(__GNUC__))\r
/** The memmove function copies n characters from the object pointed to by s2\r
into the object pointed to by s1. Copying takes place as if the n\r
characters from the object pointed to by s2 are first copied into a\r
{\r
return CopyMem( s1, s2, n);\r
}\r
+#endif\r
\r
/** The strcpy function copies the string pointed to by s2 (including the\r
terminating null character) into the array pointed to by s1. If copying\r