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]

Linux vs Cygwin linkage


I have found some unexpected differences between Cygwin
and Linux. FYI I think Cygwin is right, and Linux is wrong.

What happens is I have a DLL P which depends on a DLL F and
a DLL D. A also depends on R. The executable depends on
R D and F.

Under Linux, I link P against F, and it works.
IMHO this is just plain wrong. It seems to be pooling
symbols globally or something.

Under Cygwin this does not happen. The link of P fails
with an undefined symbol from D. I think this is correct.

If anyone can throw some light on this I'd appreciate it.
Is it this option:?

     --allow-shlib-undefined
     --no-allow-shlib-undefined
       Allows (the default) or disallows undefined symbols in  shared
       libraries. 

Can I fix that with

	-Wl,--no-allow-shlib-undefined

switch to gcc, so Linux and Cygwin behave the same?

-- 
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


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