diff --git a/src/tools.c b/src/tools.c index c60f80b27..aa90341b2 100644 --- a/src/tools.c +++ b/src/tools.c @@ -4819,8 +4819,12 @@ static int dladdr_and_size(const void *addr, Dl_info *dli, size_t *size) ret = dladdr1(addr, dli, (void **)&sym, RTLD_DL_SYMENT); if (ret) *size = sym ? sym->st_size : 0; +#else +#if defined(__sun) + ret = dladdr((void *)addr, dli); #else ret = dladdr(addr, dli); +#endif *size = 0; #endif return ret;