This makes bionic-unit-test-glibc64 behave consistently
when testing dlopen from a library with dt_runpath.
Bug: http://b/
21899363
Change-Id: I9d446eb6852876975874d6b7761f6f81cc4e9916
#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);
- return handle;
+ if (handle != nullptr) {
+ dummy++;
+ return handle;
+ }
+ return nullptr;
}