diff options
Diffstat (limited to 'libgcompat')
-rw-r--r-- | libgcompat/dlfcn.c | 16 |
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); + } +} |