summaryrefslogtreecommitdiffstats
path: root/build/Android.common.mk
diff options
context:
space:
mode:
authorAndreas Gampe <agampe@google.com>2014-05-15 11:16:06 -0700
committerAndreas Gampe <agampe@google.com>2014-05-15 12:32:44 -0700
commitb14329f90f725af0f67c45dfcb94933a426d63ce (patch)
treeeca2720bdc759d2e4b5058bc022f595303ebb971 /build/Android.common.mk
parent30b65201aa9c953433dbde1288e9b1b883042cd1 (diff)
downloadart-b14329f90f725af0f67c45dfcb94933a426d63ce.tar.gz
art-b14329f90f725af0f67c45dfcb94933a426d63ce.tar.bz2
art-b14329f90f725af0f67c45dfcb94933a426d63ce.zip
ART: Fix MonitorExit code on ARM
We do not emit barriers on non-SMP systems. But on ARM, we have places that need to conditionally execute, which is done through an IT instruction. The guide of said instruction thus changes between SMP and non-SMP systems. To cleanly approach this, change the API so that GenMemBarrier returns whether it generated an instruction. ARM will have to query the result and update any dependent IT. Throw a build system error if TARGET_CPU_SMP is not set. Fix runtime/Android.mk to work with new multilib host. Bug: 14989275 Change-Id: I9e611b770e8a1cd4ca19367d7dae0573ec08dc61
Diffstat (limited to 'build/Android.common.mk')
-rw-r--r--build/Android.common.mk6
1 files changed, 5 insertions, 1 deletions
diff --git a/build/Android.common.mk b/build/Android.common.mk
index 188ddb5374..a0e9df1929 100644
--- a/build/Android.common.mk
+++ b/build/Android.common.mk
@@ -249,7 +249,11 @@ ART_TARGET_CFLAGS := $(art_cflags) -DART_TARGET -DART_BASE_ADDRESS=$(LIBART_IMG_
ifeq ($(TARGET_CPU_SMP),true)
ART_TARGET_CFLAGS += -DANDROID_SMP=1
else
- ART_TARGET_CFLAGS += -DANDROID_SMP=0
+ ifeq ($(TARGET_CPU_SMP),false)
+ ART_TARGET_CFLAGS += -DANDROID_SMP=0
+ else
+ $(error TARGET_CPU_SMP must be (true|false), found $(TARGET_CPU_SMP))
+ endif
endif
ART_TARGET_CFLAGS += $(ART_DEFAULT_GC_TYPE_CFLAGS)