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);