bionic/tests/libs/dlopen_b.cpp
Dmitriy Ivanov 7d09a8cd11 Work around compiler optimization
This makes bionic-unit-test-glibc64 behave consistently
when testing dlopen from a library with dt_runpath.

Bug: http://b/21899363
Change-Id: I9d446eb6852876975874d6b7761f6f81cc4e9916
2015-06-23 13:47:23 -07:00

16 lines
463 B
C++

#include <dlfcn.h>
extern "C" void *dlopen_b() {
// TODO (dimitry): this is to work around http://b/20049306
// remove once it is fixed
static int dummy = 0;
// This is not supposed to succeed. Even though this library has DT_RUNPATH
// for libtest_dt_runpath_x.so, it is not taked into account for dlopen.
void *handle = dlopen("libtest_dt_runpath_x.so", RTLD_NOW);
if (handle != nullptr) {
dummy++;
return handle;
}
return nullptr;
}