summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarry Liebel <Harry.Liebel@arm.com>2014-08-20 21:55:45 +0000
committerdarylm503 <darylm503@6f19259b-4bc3-4df7-8a09-765794883524>2014-08-20 21:55:45 +0000
commit1bc81f40096526647ce5c74dadea42d2ab9363f5 (patch)
tree4e3ec2b3e57fd5f1e15e21dc29122477872f860d
parentdf294f7ff0160dbb52a36642f5f482eb639feb76 (diff)
downloadedk2-1bc81f40096526647ce5c74dadea42d2ab9363f5.tar.gz
edk2-1bc81f40096526647ce5c74dadea42d2ab9363f5.tar.bz2
edk2-1bc81f40096526647ce5c74dadea42d2ab9363f5.zip
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
-rw-r--r--StdLib/LibC/String/Copying.c5
-rw-r--r--StdLib/LibC/gdtoa/gdtoa.inf1
-rw-r--r--StdLibPrivateInternalFiles/DoNotUse.dec4
3 files changed, 8 insertions, 2 deletions
diff --git a/StdLib/LibC/String/Copying.c b/StdLib/LibC/String/Copying.c
index 18498d6f87..e27519e24c 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 fbe3ac1b63..48b7df403f 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 1b9bdbdbe4..da6061b720 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