delorie.com/archives/browse.cgi | search |
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
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |