This is the mail archive of the 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]

Cannot dlsym() some symbols from a DLL built with Cygwin

I am having a strange problem with a DLL built with Cygwin (gcc 3.2 200290927
and ld 2.13.90 20021118).

I downloaded a package from the Net and built it as a DLL. Then, I wrote
to programs, one which linked implicitly with the DLL, and one which linked
explicitly (dlopen()ed the DLL, and then dlsym()ed the symbols). No problem
with the implicit link. But, with the explicit link, weird things happen:
dlopen() succeeds, but most dlsym() fail. The strangest thing is, some dlsym()
actually succeed (they return the correct pointer) but most don't (they
return NULL)!

I tried to build the same DLL with the Micro$oft tools (cl.exe and link.exe),
and both programs, unmodified, work! That is, all dlsym() succeed.

It seems a bug in Cygwin's ld, the dynamic linker.

If you request me, I can send the test programs by e-mail.

Tiscali ADSL. Scopri la fantastica promozione di Natale: tutto Gratis fino
al 9 gennaio!
Abbonati ora: prima ti abboni, pił risparmi!

Unsubscribe info:
Bug reporting:

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