Mail Archives: cygwin/1998/11/11/05:28:20
In article <36481BE9 DOT 35E38846 DOT cygnus DOT gnu-win32 AT uz DOT kuleuven DOT ac DOT be>,
Jorrit Tyberghein <Jorrit DOT Tyberghein AT uz DOT kuleuven DOT ac DOT be> wrote:
>Hi, I'm using CygWin B20 on NT4 (SP3) and I think I have found a bug
>in dlopen.
>
>It seems that dlopen always returns the same handle even if used on different
>dll libraries. For example, I extended the dlopen example from:
> ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/cygb20/misc/
>
>to open two dll's instead of only one and added the following lines to the
>code:
>
> void* dll_handle;
> void* dll_handle2;
>
> ...
>
> dll_handle = dlopen ("first.dll", RTLD_LAZY | RTLD_GLOBAL);
> dll_handle2 = dlopen ("second.dll", RTLD_LAZY|RTLD_GLOBAL);
>
>Although first.dll and second.dll are really two different dll's dll_handle
>and dll_handle2 are equal to each other. Changing the RTLD flags to
>RTLD_NOW or something else doesn't help either.
>
>This is a major setback for me as I need to be able to do dlsym() on individual
>dll's (the dll's have functions which have the same name so I need to distinguish
>by giving the right dll handle).
>
>Is this a known bug?
>Can this be fixed somehow?
It may be a bug. As always, we would welcome a patch to fix it.
--
cgf AT cygnus DOT com
http://www.cygnus.com/
- Raw text -