define and use internal macros for hidden visibility, weak refs
[musl] / src / ldso / dlinfo.c
1 #define _GNU_SOURCE
2 #include <dlfcn.h>
3 #include "libc.h"
4
5 hidden int __dl_invalid_handle(void *);
6
7 hidden void __dl_seterr(const char *, ...);
8
9 int dlinfo(void *dso, int req, void *res)
10 {
11         if (__dl_invalid_handle(dso)) return -1;
12         if (req != RTLD_DI_LINKMAP) {
13                 __dl_seterr("Unsupported request %d", req);
14                 return -1;
15         }
16         *(struct link_map **)res = dso;
17         return 0;
18 }