From: colin AT fu DOT is DOT saga-u DOT ac DOT jp (Colin Peters) Subject: Cygnus b19 gcc and Mingw32 6 Mar 1998 22:10:44 -0800 Message-ID: <000601bd4730$4f828cc0$fa173185.cygnus.gnu-win32@gbird0.fu.is.saga-u.ac.jp> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit To: "GNU-Win32" I have just downloaded and installed Cygnus GNU-Win32 b19 on my machine, with hopes of producing a Mingw32 add-on for Cygwin32. Unfortunately it doesn't look as simple as I would have hoped. The main problem is that the library libgcc.a supplied with Cygwin32, which supplies 'builtin' type functions, doesn't supply some of the builtins that mingw32 would need. Instead they are supplied by the cygwin library (libcygwin.a). Specifically __main, which is called by the compiler at the beginning of the main function, and which does such things as initializing the global C++ objects in the program, is no longer included in libgcc.a, but is an export of the cygwin DLL. It seems to me that do_global_ctors and do_global_dtors have disappeared altogether. I can't say I think this is a good idea, although it saves a tiny bit of code in each executable. Builtin calls like that should stay in libgcc, especially given the small size of those particular builtins. Of course I have an ulterior motive, it makes it more difficult for me (or for Cygnus for that matter) to eliminate the dependency on cygwin.dll from programs. I think a change like this is a move away from the idea of making Cygnus gcc a vanilla Win32 compiler with a Cygwin32 option. This all makes it unlikely that I will be able to release a version of Mingw32 as an add-on for Cygwin32 in the near future. Instead I will be concentrating on a more polished version for EGCS and Jan-Jaap's distribution of gcc 2.8.0 including all the changes from Mingw32 0.1.4. It should be possible to take that version and integrate it into a Cygwin32 installation, but its not something I can do right now (I would have to figure out what to download and what to set up to recompile a Mingw32 version of libgcc.a or add __main to libmingw32.a). Once I get Mingw32 cleaned up and a new release made I will be looking into it again. Colin. -- Colin Peters - colin at fu.is.saga-u.ac.jp -- Saga Univ. Dept. of Information Science -- http://www.geocities.com/Tokyo/Towers/6162/index.html -- http://www.fu.is.saga-u.ac.jp/~colin/index.html - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".