Merge "Don't zero r1 on entry to the dynamic linker."
diff --git a/tests/Android.build.mk b/tests/Android.build.mk
index bb00648..d4b0396 100644
--- a/tests/Android.build.mk
+++ b/tests/Android.build.mk
@@ -28,8 +28,8 @@
     LOCAL_MODULE_STEM_64 := $(module)64
 else
 ifeq ($($(module)_install_to_out_data),true)
-    LOCAL_MODULE_PATH_32 := $(TARGET_OUT_DATA_NATIVE_TESTS)/$(module)
-    LOCAL_MODULE_PATH_64 := $(TARGET_OUT_DATA_NATIVE_TESTS)64/$(module)
+    LOCAL_MODULE_PATH_32 := $($(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_DATA_NATIVE_TESTS)/$(module)
+    LOCAL_MODULE_PATH_64 := $(TARGET_OUT_DATA_NATIVE_TESTS)/$(module)
 endif
 endif
 
diff --git a/tests/dlfcn_test.cpp b/tests/dlfcn_test.cpp
index a79263d..f056fb6 100644
--- a/tests/dlfcn_test.cpp
+++ b/tests/dlfcn_test.cpp
@@ -32,6 +32,18 @@
   g_called = true;
 }
 
+static int g_ctor_function_called = 0;
+
+extern "C" void ctor_function() __attribute__ ((constructor));
+
+extern "C" void ctor_function() {
+  g_ctor_function_called = 17;
+}
+
+TEST(dlfcn, ctor_function_call) {
+  ASSERT_EQ(17, g_ctor_function_called);
+}
+
 TEST(dlfcn, dlsym_in_self) {
   dlerror(); // Clear any pending errors.
   void* self = dlopen(NULL, RTLD_NOW);