compilation - cygwin -mno-cygwin-flag

Eric Blake ebb9@byu.net
Wed Aug 6 02:31:00 GMT 2008


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

According to Jay on 8/5/2008 8:08 PM:
|
| Can the ABIs be unifed?

No more than the Linux and Solaris ABI can be unified.  Think of cygwin
and -mno-cygwin as two entirely different operating systems, and you won't
be too far off.

|   line up struct stat, or make thin wrappers?
|   line up errno.h?
|   lineup lseek/fseek flags? (probably already the case)

Nowhere even near the case.  Microsoft and newlib are VASTLY different
libc implementations, coming from completely independent heritages.  You
simply cannot mix them and expect reasonable results.

|   keep FILE* opaque?

And how is your code supposed to know when it is calling the different
libc versions, which then dereference the opaque structure?  They simply
aren't compatible.

|
| ABI multiplicity bugs me..

This is not ABI multiplicity - it is two entirely different porting
platforms, that happen to run on the same hardware.  Using -mno-cygwin is
in essence a statement that you are cross-compiling; running the compiler
on one platform but generating object code for another.

- --
Don't work too hard, make some time for fun as well!

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

iEYEARECAAYFAkiZDM8ACgkQ84KuGfSFAYAFMACaAxiJ88ZrjvIzCuZSZH+1l4zt
lJ4AoKabxFjxTe5R7QlGWIapTSCWTj04
=rJC5
-----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