ftp.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-apps/2000/06/09/12:41:44

Message-Id: <200006091641.MAA22388@delorie.com>
Mailing-List: contact cygwin-apps-help AT sourceware DOT cygnus DOT com; run by ezmlm
list-help: <mailto:cygwin-apps-help AT sourceware DOT cygnus DOT com>
list-post: <mailto:cygwin-apps AT sourceware DOT cygnus DOT com>
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" <rdparker AT butlermfg DOT com>
To: Chris Faylor <cgf AT cygnus DOT com>, 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)

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 <windows.h>

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 <windows.h>

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright 2019   by DJ Delorie     Updated Jul 2019