#define _GNU_SOURCE | |
#include <dlfcn.h> | |
__attribute__((__visibility__("hidden"))) | |
int __dl_invalid_handle(void *); | |
__attribute__((__visibility__("hidden"))) | |
void __dl_seterr(const char *, ...); | |
int dlinfo(void *dso, int req, void *res) | |
{ | |
if (__dl_invalid_handle(dso)) return -1; | |
if (req != RTLD_DI_LINKMAP) { | |
__dl_seterr("Unsupported request %d", req); | |
return -1; | |
} | |
*(struct link_map **)res = dso; | |
return 0; | |
} |