platform_bionic/tests/libs/dlopen_b.cpp
Elliott Hughes 68ae6ad12e Changes for #inclusivefixit.
Test: treehugger
Change-Id: I7ff0496c5c2792a41781e74634247f55b0548213
2020-07-21 16:34:58 -07:00

15 lines
497 B
C++

#include <dlfcn.h>
extern "C" void *dlopen_b() {
// Work around for http://b/20049306, which isn't going to be fixed.
static int defeat_sibling_call_optimization = 0;
// This is supposed to succeed because this library has DT_RUNPATH
// for libtest_dt_runpath_x.so which should be taken into account
// by dlopen.
void *handle = dlopen("libtest_dt_runpath_x.so", RTLD_NOW);
if (handle != nullptr) {
defeat_sibling_call_optimization++;
return handle;
}
return nullptr;
}