diff options
-rw-r--r-- | src/ldso/dlinfo.c | 14 | ||||
-rw-r--r-- | src/ldso/dynlink.c | 14 |
2 files changed, 12 insertions, 16 deletions
diff --git a/src/ldso/dlinfo.c b/src/ldso/dlinfo.c index 63d276d4..a173d1ac 100644 --- a/src/ldso/dlinfo.c +++ b/src/ldso/dlinfo.c @@ -1,9 +1,19 @@ #define _GNU_SOURCE #include <dlfcn.h> -int __dlinfo(void *, int, void *); +__attribute__((__visibility__("hidden"))) +int __dl_invalid_handle(void *); + +__attribute__((__visibility__("hidden"))) +void __dl_seterr(const char *, ...); int dlinfo(void *dso, int req, void *res) { - return __dlinfo(dso, req, 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; } diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c index d2c5c3f6..2598063e 100644 --- a/src/ldso/dynlink.c +++ b/src/ldso/dynlink.c @@ -1927,20 +1927,6 @@ void *__dlsym(void *restrict p, const char *restrict s, void *restrict ra) #endif __attribute__((__visibility__("hidden"))) -int __dl_invalid_handle(void *); - -int __dlinfo(void *dso, int req, void *res) -{ - if (__dl_invalid_handle(dso)) return -1; - if (req != RTLD_DI_LINKMAP) { - error("Unsupported request %d", req); - return -1; - } - *(struct link_map **)res = dso; - return 0; -} - -__attribute__((__visibility__("hidden"))) void __dl_vseterr(const char *, va_list); static void error(const char *fmt, ...) |