summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorIan Rogers <irogers@google.com>2014-04-21 17:01:02 -0700
committerIan Rogers <irogers@google.com>2014-04-28 09:00:34 -0700
commita984454098971739a1469d62cba02cda3600268b (patch)
tree60b69e4b189bd3a3d0c374c7eccc760648aac295 /build
parent96a4f29350bf279d48bff70e21e3264cce216683 (diff)
downloadart-a984454098971739a1469d62cba02cda3600268b.tar.gz
art-a984454098971739a1469d62cba02cda3600268b.tar.bz2
art-a984454098971739a1469d62cba02cda3600268b.zip
Avoid volatile 64-bit tearing on 32-bit architectures.
Change b122a4bbed34ab22b4c1541ee25e5cf22f12a926 removed inline assembly for volatile 64bit read/writes. This isn't sound in the general case, reinstate. Motivating change: https://android-review.googlesource.com/91250 Add optimizations for ARM in the case of LPAE support. Change-Id: Ie86d8885d27c8f0da75f0c3bd50d4553a331282f
Diffstat (limited to 'build')
-rw-r--r--build/Android.common.mk8
1 files changed, 8 insertions, 0 deletions
diff --git a/build/Android.common.mk b/build/Android.common.mk
index c95b1c6239..aaa1490ab3 100644
--- a/build/Android.common.mk
+++ b/build/Android.common.mk
@@ -254,6 +254,14 @@ ART_HOST_CFLAGS += -Wthread-safety
# To use oprofile_android --callgraph, uncomment this and recompile with "mmm art -B -j16"
# ART_TARGET_CFLAGS += -fno-omit-frame-pointer -marm -mapcs
+# Addition CPU specific CFLAGS.
+ifeq ($(TARGET_ARCH),arm)
+ ifneq ($(filter cortex-a15, $(TARGET_CPU_VARIANT)),)
+ # Fake a ARM feature for LPAE support.
+ ART_TARGET_CFLAGS += -D__ARM_FEATURE_LPAE=1
+ endif
+endif
+
ART_HOST_NON_DEBUG_CFLAGS := $(art_non_debug_cflags)
ART_TARGET_NON_DEBUG_CFLAGS := $(art_non_debug_cflags)