X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Fri, 15 Jan 2010 15:18:28 +0100 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: [cfe-dev] cygwin updates (was: dladdr and Dl_info) Message-ID: <20100115141828.GC4977@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <3ab31ceedb33b3519257e07931dbdaf5 AT mail DOT smartmobili DOT com> <4B4F7C90 DOT 4030509 AT x-ray DOT at> <4B4F82B1 DOT 3080605 AT users DOT sourceforge DOT net> <4B4F908D DOT 2060709 AT x-ray DOT at> <20100115101927 DOT GG22230 AT calimero DOT vinschen DOT de> <686aa375429ae2e4ea39acf503a6a617 AT mail DOT smartmobili DOT com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <686aa375429ae2e4ea39acf503a6a617@mail.smartmobili.com> User-Agent: Mutt/1.5.20 (2009-06-14) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com 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. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- 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