This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: [cfe-dev] cygwin updates (was: dladdr and Dl_info)
On Fri, 15 Jan 2010 15:18:28 +0100, Corinna Vinschen
> On Jan 15 11:40, Vincent R. wrote:
>> It's not too difficult to add Dl_info definition (We will support only
>> retrieving path name):
>>
>> typedef struct
>> {
>> const char *dli_fname[PATH_MAX]; /* Filename of defining object */
>> void *dli_fbase; /* NA */
>> const char *dli_sname; /* NA */
>> void *dli_saddr; /* NA */
>> } Dl_info;
>>
>>
>> int dladdr(void *addr, Dl_info *info)
>> {
>> // see
>>
http://trac.enlightenment.org/e/browser/trunk/PROTO/evil/src/lib/dlfcn/dlfcn.c
>> // for an implementation
>> }
>
> The implementation won't work on Cygwin for functions exported by the
> Cygwin DLL itself. At least not as you expect it to work. Every such
> symbol will return the application's pathname in dli_fname. The reason
> is the way the functions are exported from libcygwin.a. You always get
> the address of the function stub linked statically to the executable.
> I fear this needs more work for Cygwin.
>
I understand but I suppose it would work for other dlls and it's not
important if
it doesn't work for cygwin dll itself because until now you didn't need
it.
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple