Prefer 32-bit host executables on Mac.
Bug: 22527295
Change-Id: I2cb1d3086b65b8227e6bdac9c0485fdc452f1e9c
diff --git a/build/Android.common.mk b/build/Android.common.mk
index 0f756ef..6952d69 100644
--- a/build/Android.common.mk
+++ b/build/Android.common.mk
@@ -20,6 +20,15 @@
ART_TARGET_SUPPORTED_ARCH := arm arm64 mips mips64 x86 x86_64
ART_HOST_SUPPORTED_ARCH := x86 x86_64
+ifneq ($(HOST_OS),darwin)
+ ART_HOST_SUPPORTED_ARCH := x86 x86_64
+else
+ # Mac OS doesn't support low-4GB allocation in a 64-bit process. So we won't be able to create
+ # our heaps.
+ ART_HOST_SUPPORTED_ARCH := x86
+ ART_MULTILIB_OVERRIDE_host := 32
+endif
+
ART_COVERAGE := false
ifeq ($(ART_COVERAGE),true)
diff --git a/build/Android.executable.mk b/build/Android.executable.mk
index a251c92..72cf978 100644
--- a/build/Android.executable.mk
+++ b/build/Android.executable.mk
@@ -127,6 +127,10 @@
LOCAL_MODULE_TARGET_ARCH := $(ART_SUPPORTED_ARCH)
endif
+ ifdef ART_MULTILIB_OVERRIDE_$$(art_target_or_host)
+ art_multilib := $$(ART_MULTILIB_OVERRIDE_$$(art_target_or_host))
+ endif
+
LOCAL_MULTILIB := $$(art_multilib)
art_out_binary_name := $$(LOCAL_MODULE)