Revert "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL"
This reverts commit c85e82dde5.
Bug: 18222321
Bug: 18211780
Change-Id: I32f4048bd5ea85dc8a3dfccce8cf141b241ab692
This commit is contained in:
@@ -202,42 +202,6 @@ TEST(dlfcn, dlopen_check_order) {
|
||||
dlclose(handle);
|
||||
}
|
||||
|
||||
TEST(dlfcn, dlopen_check_rtld_local) {
|
||||
void* sym = dlsym(RTLD_DEFAULT, "dlopen_testlib_simple_func");
|
||||
ASSERT_TRUE(sym == nullptr);
|
||||
|
||||
// implicit RTLD_LOCAL
|
||||
void* handle = dlopen("libtest_simple.so", RTLD_NOW);
|
||||
sym = dlsym(RTLD_DEFAULT, "dlopen_testlib_simple_func");
|
||||
ASSERT_TRUE(sym == nullptr);
|
||||
ASSERT_SUBSTR("undefined symbol: dlopen_testlib_simple_func", dlerror());
|
||||
sym = dlsym(handle, "dlopen_testlib_simple_func");
|
||||
ASSERT_TRUE(sym != nullptr);
|
||||
ASSERT_TRUE(reinterpret_cast<bool (*)(void)>(sym)());
|
||||
dlclose(handle);
|
||||
|
||||
// explicit RTLD_LOCAL
|
||||
handle = dlopen("libtest_simple.so", RTLD_NOW | RTLD_LOCAL);
|
||||
sym = dlsym(RTLD_DEFAULT, "dlopen_testlib_simple_func");
|
||||
ASSERT_TRUE(sym == nullptr);
|
||||
ASSERT_SUBSTR("undefined symbol: dlopen_testlib_simple_func", dlerror());
|
||||
sym = dlsym(handle, "dlopen_testlib_simple_func");
|
||||
ASSERT_TRUE(sym != nullptr);
|
||||
ASSERT_TRUE(reinterpret_cast<bool (*)(void)>(sym)());
|
||||
dlclose(handle);
|
||||
}
|
||||
|
||||
TEST(dlfcn, dlopen_check_rtld_global) {
|
||||
void* sym = dlsym(RTLD_DEFAULT, "dlopen_testlib_simple_func");
|
||||
ASSERT_TRUE(sym == nullptr);
|
||||
|
||||
void* handle = dlopen("libtest_simple.so", RTLD_NOW | RTLD_GLOBAL);
|
||||
sym = dlsym(RTLD_DEFAULT, "dlopen_testlib_simple_func");
|
||||
ASSERT_TRUE(sym != nullptr) << dlerror();
|
||||
ASSERT_TRUE(reinterpret_cast<bool (*)(void)>(sym)());
|
||||
dlclose(handle);
|
||||
}
|
||||
|
||||
// libtest_with_dependency_loop.so -> libtest_with_dependency_loop_a.so ->
|
||||
// libtest_with_dependency_loop_b.so -> libtest_with_dependency_loop_c.so ->
|
||||
// libtest_with_dependency_loop_a.so
|
||||
|
||||
Reference in New Issue
Block a user