dladdr is a GNU extension to the common dl family of functions: dlopen, dlsym, etc.
It has been implemented on many other operating systems:
It seems like the FreeBSD and macOS implementations are ports of or just compatible with the Solaris version.
One thing we need to think about is what to return for the dli_fname? Do we include the member name (if any) or just the file path. A given path that includes the member in the /path/to/lib(member.so) syntax is a valid file path, so that could be confusing, however it would be unique to AIX/PASE. The HP-UX version at least has defined system-specific fields, so I think we can follow them.
dladdr is a GNU extension to the common dl family of functions:
dlopen,dlsym, etc.It has been implemented on many other operating systems:
It seems like the FreeBSD and macOS implementations are ports of or just compatible with the Solaris version.
One thing we need to think about is what to return for the
dli_fname? Do we include the member name (if any) or just the file path. A given path that includes the member in the /path/to/lib(member.so) syntax is a valid file path, so that could be confusing, however it would be unique to AIX/PASE. The HP-UX version at least has defined system-specific fields, so I think we can follow them.