[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Problems with Cygwin and RTEMS



Hi,

>after too much hours, without results, spent to make
>RTEMS under W95 Host I leave all for its major brother
>NT4 service 4.

There are problems with Win95. Joel has been debugging these and it seems to
have a lot of fork/exec problems still. The Cgywin guys have said that they
hope to fix this before release... the problems seem to lie with the random
behviour of Win95(surprise surprise).

>On my system, this happens at points in the
>'configure' script where a cross-compiled example is
>launched to see whether it will run, and therefore
>whether the compiler in question is a cross- or native-
>compiler. Not only does the test executable >fail, it
>hangs the shell, which hangs the window widget. $%! I
>_know_ it is a cross-compiler, so I patched the
>configure >script to set that result without running
>the abortive test. (Closer comparison with GNU-tools
>scripts might suggest a substitute script formulation,
>but I didn't pursue it.)

Try grabing this "fixed" version of cygwin1.dll
http://www.users.surfaid.org/~fiddes/coldfire/cygwin-rtems-fix.zip

What is happening is that the RTEMS configure is trying to determine if the
target compiler is indeed a cross-compiler. It does this by getting it to
create a small EXE and then run it. If it is cross compiling then it will be
unable to run the EXE. Unfortunately NT(and 95) are a bit thick...and try
all possible combinations of EXE format before assuming it is a ye olde .COM
and just loading it into memory and running. The results are somewhat
random...m68k-coff causes a nice Terminate button to appear, m68k-elf gets
stuck in an endless loop, etc.

My fixed version of cygwin1.dll just checks that the first two characters of
the EXE passed to the Win32 CreateProcess() function start 'MZ' like all
DOS, Win16 and Win32 PE EXEs are supposed to.

>Having got through that (in WinNT-4.0), I still found
>my 'make' unable to recurse into the directory tree.
>(1) Has anyone else encountered this? (2) If so, have
>you resolved it?

This one is probably fairly easy to fix. You need to use make-3.77 rather
than the very old make-3.75 that ships with Cygwin Beta 20.1. Either rebuild
it yourself from the GNU source:
/source/make-3.77/configure --prefix=/cygnus/cygwin-b20 --exec-prefix=/cygnu
s/cygwin-b20/H-i586-cygwin32
make
then manually copy make.exe to /cygnus/cygwin-b20/H-i586-cygwin32/bin

or grab my prebuilt EXE from
http://www.users.surfaid.org/~fiddes/coldfire/make-3.77.zip

This should all be sorted out in the docs for the next release. In the
meantime I hope this helps,
Dave