summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid 'Digit' Turner <digit@google.com>2009-10-02 19:13:27 -0700
committerDavid 'Digit' Turner <digit@google.com>2009-10-02 19:13:27 -0700
commit1e40783d9ad29c88a4d547774e05080fc4327a2e (patch)
treed73c841ff9743e0f78ecd410794998eba693d9db
parentfe46030cdd97f9cf810630541df367dd2b85cae9 (diff)
downloadbionic-1e40783d9ad29c88a4d547774e05080fc4327a2e.zip
bionic-1e40783d9ad29c88a4d547774e05080fc4327a2e.tar.gz
bionic-1e40783d9ad29c88a4d547774e05080fc4327a2e.tar.bz2
Fix armv7-user builds by disabling the ARMv7-optimized memcpy.
This is required to work-around some corny bugs in ARMv7 emulation. The emulation itself is required to run the dex pre-optimization pass for -user builds.
-rw-r--r--libc/arch-arm/bionic/memcpy.S16
1 files changed, 15 insertions, 1 deletions
diff --git a/libc/arch-arm/bionic/memcpy.S b/libc/arch-arm/bionic/memcpy.S
index f5cc67b..254e870 100644
--- a/libc/arch-arm/bionic/memcpy.S
+++ b/libc/arch-arm/bionic/memcpy.S
@@ -28,7 +28,21 @@
#include <machine/cpu-features.h>
-#if __ARM_ARCH__ == 7 || defined(__ARM_NEON__)
+/* VERY IMPORTANT NOTE:
+ * The following ARMv7-optimized version of memcpy is DISABLED !
+ *
+ * Because the corresponding machine code is not properly emulated
+ * by the Android emulator at this time, and because running the
+ * dex pre-optimization pass in the emulator is required when
+ * building -user images (corresponding to the system images of
+ * production devices).
+ *
+ * The code will be re-enabled as soon as we fix the ARMv7 emulation
+ * issues. An even better fix would be to *not* have to run the
+ * dex pre-opt pass in the emulator, but on the build host instead.
+ */
+#if 0
+/* #if __ARM_ARCH__ == 7 || defined(__ARM_NEON__) */
.text
.fpu neon