Merge "Opt compiler: Add ARM64 support for the Mul IR."
diff --git a/build/Android.gtest.mk b/build/Android.gtest.mk
index 9e640c6..1d8b65a 100644
--- a/build/Android.gtest.mk
+++ b/build/Android.gtest.mk
@@ -240,6 +240,7 @@
# Define a make rule for a target device gtest.
# $(1): gtest name - the name of the test we're building such as leb128_test.
# $(2): 2ND_ or undefined - used to differentiate between the primary and secondary architecture.
+# $(3): LD_LIBRARY_PATH or undefined - used in case libartd.so is not in /system/lib/
define define-art-gtest-rule-target
gtest_rule := test-art-target-gtest-$(1)$$($(2)ART_PHONY_TEST_TARGET_SUFFIX)
@@ -257,7 +258,8 @@
$(hide) adb shell rm $(ART_TARGET_TEST_DIR)/$(TARGET_$(2)ARCH)/$$@-$$$$PPID
$(hide) adb shell chmod 755 $(ART_TARGET_NATIVETEST_DIR)/$(TARGET_$(2)ARCH)/$(1)
$(hide) $$(call ART_TEST_SKIP,$$@) && \
- (adb shell "$(ART_TARGET_NATIVETEST_DIR)/$(TARGET_$(2)ARCH)/$(1) && touch $(ART_TARGET_TEST_DIR)/$(TARGET_$(2)ARCH)/$$@-$$$$PPID" \
+ (adb shell "LD_LIBRARY_PATH=$(3) \
+ $(ART_TARGET_NATIVETEST_DIR)/$(TARGET_$(2)ARCH)/$(1) && touch $(ART_TARGET_TEST_DIR)/$(TARGET_$(2)ARCH)/$$@-$$$$PPID" \
&& (adb pull $(ART_TARGET_TEST_DIR)/$(TARGET_$(2)ARCH)/$$@-$$$$PPID /tmp/ \
&& $$(call ART_TEST_PASSED,$$@)) \
|| $$(call ART_TEST_FAILED,$$@))
@@ -356,12 +358,22 @@
LOCAL_MODULE_PATH_64 := $$(ART_TARGET_NATIVETEST_OUT)/$$(ART_TARGET_ARCH_64)
LOCAL_MULTILIB := both
include $$(BUILD_EXECUTABLE)
+ library_path :=
+ 2nd_library_path :=
+ ifneq ($$(ART_TEST_ANDROID_ROOT),)
+ ifdef TARGET_2ND_ARCH
+ 2nd_library_path := $$(ART_TEST_ANDROID_ROOT)/lib
+ library_path := $$(ART_TEST_ANDROID_ROOT)/lib64
+ else
+ library_path := $$(ART_TEST_ANDROID_ROOT)/lib
+ endif
+ endif
ART_TEST_TARGET_GTEST_$$(art_gtest_name)_RULES :=
ifdef TARGET_2ND_ARCH
- $$(eval $$(call define-art-gtest-rule-target,$$(art_gtest_name),2ND_))
+ $$(eval $$(call define-art-gtest-rule-target,$$(art_gtest_name),2ND_,$$(2nd_library_path)))
endif
- $$(eval $$(call define-art-gtest-rule-target,$$(art_gtest_name),))
+ $$(eval $$(call define-art-gtest-rule-target,$$(art_gtest_name),,$$(library_path)))
# A rule to run the different architecture versions of the gtest.
.PHONY: test-art-target-gtest-$$(art_gtest_name)
diff --git a/test/Android.run-test.mk b/test/Android.run-test.mk
index f0eb351..0efd71b 100644
--- a/test/Android.run-test.mk
+++ b/test/Android.run-test.mk
@@ -554,6 +554,12 @@
ifeq ($(9),no-image)
test_groups += ART_RUN_TEST_$$(uc_host_or_target)_NO_IMAGE_RULES
run_test_options += --no-image
+ # Add the core dependency. This is required for pre-building.
+ ifeq ($(1),host)
+ prereq_rule += $(HOST_CORE_IMAGE_$(4)_no-pic_$(12))
+ else
+ prereq_rule += $(TARGET_CORE_IMAGE_$(4)_no-pic_$(12))
+ endif
else
ifeq ($(9),image)
test_groups += ART_RUN_TEST_$$(uc_host_or_target)_IMAGE_RULES
diff --git a/test/etc/run-test-jar b/test/etc/run-test-jar
index 9b1af70..39f28c8 100755
--- a/test/etc/run-test-jar
+++ b/test/etc/run-test-jar
@@ -210,10 +210,8 @@
if [ "$HAVE_IMAGE" = "n" ]; then
DALVIKVM_BOOT_OPT="-Ximage:/system/non-existant/core.art"
- DEX2OAT_BOOT_OPT="--boot-image=/system/non-existant/core.art"
else
DALVIKVM_BOOT_OPT="-Ximage:${BOOT_IMAGE}"
- DEX2OAT_BOOT_OPT="--boot-image=${BOOT_IMAGE}"
fi
@@ -272,7 +270,7 @@
if [ "$PREBUILD" = "y" ]; then
dex2oat_cmdline="$INVOKE_WITH $ANDROID_ROOT/bin/dex2oatd \
$COMPILE_FLAGS \
- $DEX2OAT_BOOT_OPT \
+ --boot-image=${BOOT_IMAGE} \
--dex-file=$DEX_LOCATION/$TEST_NAME.jar \
--oat-file=$DEX_LOCATION/dalvik-cache/$ISA/$(echo $DEX_LOCATION/$TEST_NAME.jar/classes.dex | cut -d/ -f 2- | sed "s:/:@:g") \
--instruction-set=$ISA"