1#define _GNU_SOURCE 2#include <dlfcn.h> 3 4__attribute__((__visibility__("hidden"))) 5int __dl_invalid_handle(void *); 6 7__attribute__((__visibility__("hidden"))) 8void __dl_seterr(const char *, ...); 9 10int dlinfo(void *dso, int req, void *res) 11{ 12 if (__dl_invalid_handle(dso)) return -1; 13 if (req != RTLD_DI_LINKMAP) { 14 __dl_seterr("Unsupported request %d", req); 15 return -1; 16 } 17 *(struct link_map **)res = dso; 18 return 0; 19} 20