Subject: Re: New gcc/binutils available for testing
From: Chris Faylor <[email-masked]>
To: [email-masked]
Cc: Dale Goudey <[email-masked]>
Date: Thu, 15 Jun 2000 23:36:00 -0400

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 [email-masked]