Message-Id: <200006091641.MAA22388@delorie.com> Mailing-List: contact cygwin-apps-help AT sourceware DOT cygnus DOT com; run by ezmlm list-help: list-post: Sender: cygwin-apps-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin-apps AT sourceware DOT cygnus DOT com From: "Parker, Ron" To: Chris Faylor , cygwin-apps AT sourceware DOT cygnus DOT com, cygwin-developers AT sourceware DOT cygnus DOT com Subject: RE: [cet AT carlthompson DOT net: Re: Extreme newbie here...] Date: Fri, 9 Jun 2000 11:39:34 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2448.0) Content-Type: multipart/mixed; boundary="----_=_NextPart_000_01BFD231.5A8F7126" This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_000_01BFD231.5A8F7126 Content-Type: text/plain; charset="windows-1252" > Is cygwin really "broken in recent releases"? Does anyone know why? EXECUTIVE SUMMARY: Somewhat. MORE REALISTIC SUMMARY: From what I have determined exception handling with -mno-cygwin is definately broken. But that is obvious if you look at the excpt.h. Paul Baxter actually sent a good email about that to the main list, cf. http://sourceware.cygnus.com/ml/cygwin/2000-06/msg00346.html. The other thing that is "broken" is the handling of lib[mc] with g++ which I have previously mentioned, created a patch to correct, and emailed the new executable to those that needed it. As a side note, I finally tracked down what was needed to release a new gcc w/o the i686-pc-cygwin directory, but will not be able to do so ... you got it ... until I get home this evening. BTW, Chris you should add "gcc_tooldir=/usr" and "gcc_tooldir=$inst/usr" to the appropriate make commands in the script from which you mailed excerpts yesterday. There may also be a problem of -mno-cygwin picking up the cygwin header files in some cases. I am looking into this. I can say that at least the following trivial program works both when compiled as C with gcc and as C++ with my modified g++. <--- hello.c ---> #include int APIENTRY WinMain(HINSTANCE a1,HINSTANCE a2,LPSTR a3,int a4) { MessageBox(NULL, "Hello, world!", NULL, MB_OK); return 0; } <--- End hello.c ---> However adding the simplest exception handling construct as in the following code creates a link error. <--- eh_hello.cpp ---> #include class foo { }; int APIENTRY WinMain(HINSTANCE a1,HINSTANCE a2,LPSTR a3,int a4) { try { throw foo(); } catch (foo& f) { MessageBox(NULL, "Hello, world!", NULL, MB_OK); } return 0; } <--- End eh_hello.cpp ---> Link error: bash-2.04$ g++ -mno-cygwin -fno-rtti hello.cpp -o hello /usr/lib/gcc-lib/i686-pc-cygwin/2.95.2/libgcc.a(_eh.o): In function `_eh_rtime_match': /home/src/gcc-2.95.2/gcc/./libgcc2.c(.text+0x389): undefined reference to `_impure_ptr' collect2: ld returned 1 exit status If your source code will compile with -fno-exceptions, it should work in most cases. That is a brief synopsis of what I know. ------_=_NextPart_000_01BFD231.5A8F7126 Content-Type: application/ms-tnef Content-Transfer-Encoding: base64 eJ8+IgIQAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEIgAcAGAAAAElQTS5NaWNy b3NvZnQgTWFpbC5Ob3RlADEIAQSAAQA3AAAAUkU6IFtjZXRAY2FybHRob21wc29uLm5ldDogUmU6 IEV4dHJlbWUgbmV3YmllIGhlcmUuLi5dAOESAQmAAQAhAAAAMDI0Mjc3QTZEQ0JBRDA0QkI3NURF MkFENTBFRDMwNEYAWgcBIIADAA4AAADQBwYACQALACgAAAAFAB4BAQWAAwAOAAAA0AcGAAkACwAn ACIABQA/AQENgAQAAgAAAAIAAgABA5AGAIALAAArAAAACwACAAEAAAADAC4AAAAAAEAAOQAwfUdL MdK/AR4AcAABAAAAMwAAAFtjZXRAY2FybHRob21wc29uLm5ldDogUmU6IEV4dHJlbWUgbmV3Ymll IGhlcmUuLi5dAAACAXEAAQAAABsAAAABv9Ij6BhDFFg1PGsR1Jw/AGAIw/BnAAGMWyAAAgEJEAEA AACRBgAAjQYAAAYLAABMWkZ1TKcdZgMACgByY3BnMTI14jIDQ3RleAVBAQMB9/8KgAKkA+QHEwKA D/MAUARWPwhVB7IRJQ5RAwECAGNo4QrAc2V0MgYABsMRJfYzBEYTtzASLBEzCO8J97Y7GB8OMDUR IgxgYwBQMwsJAWQzNhZQC6YgPsQgSQQgY3lnA/ADoIMYIAdAbHkgImIDYOprCfAgHYNjCfAFQBgg BmwdwBQQcyI/ICAsRG8HkQBweQIgZSAIa25vB+B3aHk/BwqiCoQKgEVYRUNVEFRJVkUGAFVNTdBB Ulk6IVpTA3AH0IkT4HQuIVpNT1IikKElYEFMSVMiYEMir70hckYDYSEBJFAdACAT4M52IKABAA6w cm0LgAmAbiAOwB7wBTBpAiAoIW4UZGwLgGchAGl0aOggLW0g0C0dRQQAKHG+ZguAJFAfUB4AHjQu H+A8QnUFQCqAJ+ErcW9iWnYpkHUEIAaQICBwdf4gF7AeUCBALQIgoCkxBTBELmgssVBhdQMgQs5h DtASgQDQdHUd0xQQ8R8RYSBnLqApEQDAAxHnAaAIYC0FdG8vAzIRA6BRKhBzdCwdMGYssGjBAkBw Oi8vcwhhHvDSdwrAZS4dQW4t8DWAoQNwL21sLx1ELwHQkTbwLTA2NjBzZzbwaDM0Ni+gdDZAJHtU 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 RkM0MDAAAAAAAgH7PwEAAAB0AAAAAAAAANynQMjAQhAatLkIACsv4YIBAAAABgAAAC9PPUJVVExF UiBNQU5VRkFDVFVSSU5HIENPTVBBTlkvT1U9QlVJTERJTkdTL0NOPVJFQ0lQSUVOVFMvQ049VE9X RVIvQ049UkRQQVJLRVJEMDZGQzQwMAAeAPo/AQAAAAwAAABQYXJrZXIsIFJvbgAeADlAAQAAABEA AABSRFBBUktFUkQwNkZDNDAwAAAAAEAABzBAgIEZKtK/AUAACDAmcY9aMdK/AR4APQABAAAABQAA AFJFOiAAAAAAHgAdDgEAAAAzAAAAW2NldEBjYXJsdGhvbXBzb24ubmV0OiBSZTogRXh0cmVtZSBu ZXdiaWUgaGVyZS4uLl0AAAsAKQAAAAAACwAjAAAAAAADAAYQTXTakAMABxC5BgAAAwAQEAEAAAAD ABEQAQAAAB4ACBABAAAAZQAAAElTQ1lHV0lOUkVBTExZIkJST0tFTklOUkVDRU5UUkVMRUFTRVMi P0RPRVNBTllPTkVLTk9XV0hZP0VYRUNVVElWRVNVTU1BUlk6U09NRVdIQVRNT1JFUkVBTElTVElD U1VNTUEAAAAAUhg= ------_=_NextPart_000_01BFD231.5A8F7126--