StdLib/LibC: Fix ARM symbol problems
StdLibPrivateInternalFiles: Add AArch64 support

Disable 'memcpy' symbol for ARM in LibC. It is already provided by the ARM compiler intrinsics library.
Add missing 'strtold' symbol. Use the same fallback as IPF for now.
Use Include definitions as provided by ARM version.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Harry Liebel <Harry.Liebel@arm.com>
Reviewed-By: Olivier Martin <olivier.martin@arm.com>
Reviewed-By: Daryl McDaniel <daryl.mcdaniel@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15858 6f19259b-4bc3-4df7-8a09-765794883524
diff --git a/StdLib/LibC/String/Copying.c b/StdLib/LibC/String/Copying.c
index 18498d6..e27519e 100644
--- a/StdLib/LibC/String/Copying.c
+++ b/StdLib/LibC/String/Copying.c
@@ -19,11 +19,12 @@
 #include  <stdlib.h>

 #include  <string.h>

 

-/** Do not define memcpy for IPF+GCC builds.

+/** Do not define memcpy for IPF+GCC or ARM+GCC builds.

     For IPF, using a GCC compiler, the memcpy function is converted to

     CopyMem by objcpy during build.

+    For ARM, the memcpy function is provided by the CompilerIntrinsics library.

 **/

-#if  !(defined(MDE_CPU_IPF) && defined(__GNUC__))

+#if !((defined(MDE_CPU_IPF) || defined(MDE_CPU_ARM)) && defined(__GNUC__))

 /** The memcpy function copies n characters from the object pointed to by s2

     into the object pointed to by s1.

 

diff --git a/StdLib/LibC/gdtoa/gdtoa.inf b/StdLib/LibC/gdtoa/gdtoa.inf
index fbe3ac1..48b7df4 100644
--- a/StdLib/LibC/gdtoa/gdtoa.inf
+++ b/StdLib/LibC/gdtoa/gdtoa.inf
@@ -44,6 +44,7 @@
 

 [Sources.ARM]

   strtof.c

+  Ipf/strtold.c

 

 [Sources]

   strtod.c      # Public interfaces

diff --git a/StdLibPrivateInternalFiles/DoNotUse.dec b/StdLibPrivateInternalFiles/DoNotUse.dec
index 1b9bdbd..da6061b 100644
--- a/StdLibPrivateInternalFiles/DoNotUse.dec
+++ b/StdLibPrivateInternalFiles/DoNotUse.dec
@@ -33,3 +33,7 @@
 

 [Includes.ARM]

   Include/Arm

+

+[Includes.AARCH64]

+  # Use the ARM headers for now.

+  Include/Arm