Linux vs Cygwin linkage

Eric Blake ebb9@byu.net
Sat Feb 18 18:56:00 GMT 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to skaller on 2/18/2006 11:39 AM:
> I have found some unexpected differences between Cygwin
> and Linux. FYI I think Cygwin is right, and Linux is wrong.

No, they are both right, in their own way.  Windows .dlls cannot use
undefined symbols, whereas Linux shared objects can (the dynamic loader
resolves them lazily, failing only at execution time if the symbol was not
ultimately provided).  Libtool has a -no-undefined switch to force
platforms like Linux with lazy linking to have a link failure if the
symbol is undefined, whereas on Windows, you have no choice.  For
development, it is sometimes easier to rely on lazy linkage (or linux
wouldn't provide it), but for portability, you are right that cygwin is
stricter thanks to the underlying windows dll semantics.

> Can I fix that with
> 
> 	-Wl,--no-allow-shlib-undefined
> 
> switch to gcc, so Linux and Cygwin behave the same?

Why not look at what the -no-undefined switch to libtool uses?

- --
Life is short - so eat dessert first!

Eric Blake             ebb9@byu.net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFD92z084KuGfSFAYARAkN6AJ4uTkDeijRB1Vw4SkIQmKyG6+8jSwCeKOAA
dIFCKjRLT2RpDsIX8IQfd4E=
=RJ4I
-----END PGP SIGNATURE-----

--
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