Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com Date: Thu, 15 Jun 2000 23:36:00 -0400 From: Chris Faylor To: cygwin AT sourceware DOT cygnus DOT com Cc: Dale Goudey Subject: Re: New gcc/binutils available for testing Message-ID: <20000615233600.A2547@cygnus.com> Reply-To: cygwin AT sourceware DOT cygnus DOT com Mail-Followup-To: cygwin AT sourceware DOT cygnus DOT com, Dale Goudey References: <01bfd73f$458a0d50$1bd4b3d1 AT deschutes> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2i In-Reply-To: <01bfd73f$458a0d50$1bd4b3d1@deschutes>; from goudey@earthlink.net on Thu, Jun 15, 2000 at 08:02:13PM -0700 On Thu, Jun 15, 2000 at 08:02:13PM -0700, Dale Goudey wrote: >I have used the new binutils/gcc, testing not complete by any means but it >looks good so far (after some fixes are applied). Builds are still ongoing. > >fixes required: > >1. default library search path is broken, it still seems to be > looking in /usr/i686-pc-cygwin/lib > The workaround is to define the LIBRARY_PATH environment variable to /usr/lib You are responding to email in a thread where I have already noted that I got this wrong and required LIBRARY_PATH for correct operation. Did you miss this somehow. >2. For true mingw support (is there such a thing?), you will need to >install the complete > mingw header/library set and modify the specs file (see below). The Cygwin release contains libraries and include files that are common to both mingw and cygwin. The windows specific include files that are in /usr/include are the same files that are released in a mingw-only distribution. Ditto, the lib files. The only things that I see that are not already in cygwin are a couple of include files (gmon.h, profil.h, and profile.h) and libraries (crt2.o, dllcrt2.o, and gcrt0.o). This is only a relatively cursory search, but I believe that this is correct. If Mumit wants to add these to the cygwin release when he gets back, I'll let him make that call. >The specs file requires that the mingw headers are used when the mingw >libraries are used. If they are not installed, you will get an error >message. This is by design. To do otherwise is INCORRECT, since the >headers must remain consistent with the libraries. Hope this is clear. I've modified your stuff to work with the cygwin distribution and hopefully also find things whereever a mingw-only installation puts things. However, I don't see this as a real goal. If someone wants to install the complete mingw gcc implementation then they should be able to. I don't see a whole lot of overlap. >But this means that the complete libraries/headers must be installed in the >proper locations. Since these files were never part of the regular cygwin >package (though I thing they should be), they must be obtained separately. Installing the mingw stuff in their own location would mean a lot of duplication. I don't see any reason for that. If someone wants a mingw-only setup they can grab stuff from mingw.org. >>Also, it i linking with both crtdll.dll and msvcrt.dll. Programs >>should be linked against one or the other, but not both. msvcrt.dll is >>preferred because it is more stable and better tested. >I just blindly followed the specs file that was in the URL that I >quoted. I thought I saw positive comments about this. It turns out that crtdll is actually needed or my simple test case does not compile. So, I'm leaving this in unless someone can tell me why I get errors like this when I try to link a simple program: /usr/lib/crt1.o(.text+0x1b):crt1.c: undefined reference to `__GetMainArgs' /usr/lib/crt1.o(.text+0x45):crt1.c: undefined reference to `_imp___fmode_dll' /usr/lib/crt1.o(.text+0x1d7):crt1.c: undefined reference to `_imp___environ_dll' collect2: ld returned 1 exit status Maybe this is because I'm using crt1.o rather than crt2.o, since that is all that is in the cygwin release? >Install as described below (repeating my previous note with modifications >for the new gcc), and use the specs file attached here (rather than the >previous one posted). To see where the specs file belongs, do a gcc -v It is a real effort to translate your specs file back into the format that gcc stores its stuff (see gcc/config/i386/cygwin.h), so I think I'm going to pass on that. I've got things working fairly well now, so I'm going to stick with my current specs file. Especially if, as it sounds, your changes only affect the mingw-only layout. Anyway, thanks for your specs file. It provided a lot of insight into the way things should be laid out. I have a much better understanding about what is going on now. cgf -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com