This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Help debugging a dll issue

On Fri, May 20, 2016 at 06:37:57AM -0400, Eliot Moss wrote:
> On 5/19/2016 11:28 PM, Sam Habiel wrote:
> >I had trouble with dlopen in Cygwin, where it did not behave intuitively. In my case, I was
> >dlopening libicu and friends. If you search using my name on the Cygwin mailing list, you should be
> >able to find out how I resolved the issue. I don't recall exactly what I did, but I think it was
> >that Cygwin put everything in a global namespace, and you need to dlsym NULL to grab the function
> >addresses.
> I just tried using NULL for the handle in dlsym, and I get the same result as before, and it
> does not change between using RTLD_LOCAL or RTLD_GLOBAL in dlopen.
> What I am seeing is that looking up one symbol is giving the value for a totally different
> one -- it's not returning an error indication.
> And this same wrong value is what happens if I just allow the natural linking to take place
> (which is what I really want to happen -- the dl calls simply help focus the issue).
> I will look up your previous issue, though, to see if there is something else there of use
> in this situation.
> Regards -- EM
Hi Eliot,

Do you know what is the name of the totally different symbol? (maybe from nm -D)

I wrote a "findit" utility a while back - it would be interesting if it gave the
same answer for both symbols. If you would git clone, cd to the findit subdirectory
and enter "make" then you will have it.

Example use:
> 21:23:15$ ./findit cygwin1.dll printf
> Found printf in cygwin1.dll at 0x18012ecbe
> 21:24:37$

HTH ... Duncan.

Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]