Linux vs Cygwin linkage

skaller skaller@users.sourceforge.net
Sat Feb 18 18:45:00 GMT 2006


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/



More information about the Cygwin mailing list