summaryrefslogtreecommitdiff
path: root/libgcompat
diff options
context:
space:
mode:
Diffstat (limited to 'libgcompat')
-rw-r--r--libgcompat/dlfcn.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/libgcompat/dlfcn.c b/libgcompat/dlfcn.c
index f2eaa45..603336c 100644
--- a/libgcompat/dlfcn.c
+++ b/libgcompat/dlfcn.c
@@ -23,3 +23,19 @@ void *dlvsym(void *handle, char *symbol, char *version)
return dlsym(handle, symbol);
}
+
+int dladdr1(const void *addr, Dl_info *info, void **extra_info, int flags)
+{
+ if (getenv("GLIBC_FAKE_DEBUG") != NULL) {
+ fprintf(stderr, "request info of %p with flags %d", addr,
+ flags);
+ }
+
+ switch (flags) {
+ case 1 /* RTLD_DL_SYMEMT */:
+ case 2 /* RTLD_DL_LINKMAP */:
+ return 0;
+ default:
+ return dladdr(addr, info);
+ }
+}