[ECOS] Problem downloading eCos

Jonathan Larmour jlarmour@redhat.com
Wed Mar 21 12:42:00 GMT 2001


"Lewin A.R.W. Edwards" wrote:
> 
> > > ./gencodes.exe /src/gcc/gcc/config/arm/arm.md > tmp-codes.h
> >
> >Looks suspiciously like our old friend the CRLF problem. It's barfed on the
> >very first non-comment line.
> 
> Hmm, I find out that what I thought was a stupid mistake on my part isn't
> after all.
> 
> What gives? I load that file in vi and it tells me [dos]. Yet, it tells me
> the same thing for all the other files, and they don't cause problems.

Because CVS versions of gcc now ignore carriage returns. Old versions of
gcc wouldn't fare so well. But gencodes just reads the file (in normal text
mode).

> Why does this one file cause problems? Does "gencodes.exe" open the machine
> descriptor file in binary mode?? If so, it's broken for cygwin. Is it
> something that's supplied with cygwin, or part of the gcc distribution?

Part of gcc. No, this is down to CVS checking out the files with ^Ms. 

Firstly, make sure you're using cygwin CVS and not another one. And
secondly, here's a similar post from the cygwin list. Point 2a) is the
interesting one, although I've heard people report that having it mounted
in text mode doesn't work either. Or maybe it was only the build directory
in text mode that fails.

-=-=-=-=-

--- Christopher Cobb <ccobb@cseg.com> wrote:
> I am getting whole-file conflicts where the only difference is the
> presence of ^M's in one version and not in the other.
> 
> Does this have to do with how the end-of-file setting is set in cygwin?
> 
> We have unix/linux clients and windows clients (with cygwin).  Cygwin
> and non-cygwin tools are used to edit files (i.e., tools which put ^M's
> into the files).
> 
> How can I avoid whole-file conflicts?
> 

Three methods:

1) Filter the text files so that the ^M is removed.
   a) Rename cvs.exe to cygcvs.exe
   b) Create a script named cvs that filters the files in a manner
appropriate
      for you.  There are several ways to do it, none of which is more
right
      than the other.
   c) execute cygcvs with the options passed to your script.

2) Remount you Cygwin mounts in text mode.
   a) mount -f c:/cygwin /          # you didn't give the `cygcheck -r -s
-v'
                                    # output so I don't know what mounts
*you*
                                    # have now.
   b) If you have true binary files being checked in and out of CVS then
this
      won't work for you.

3) Get the cvs sources from the Cygwin mirror and rebuild it with
automode.o
   a) configure --prefix=/usr --sysconfdir=/etc --libexecdir=/sbin
   b) modifiy the Makefile so that the cvs.exe is created with the 
      /usr/lib/automode.o object
   c) make
   d) make install

Automode.o is a read in text, write in binary.  The alternative to this is
to
change the code in CVS.  If you're updating binary files this might not
work
for you.

The three options above may or may not work.  They are suggestions to try
not
definitive methods of cure.

Cheers,

=====
Earnie Boyd
-=-=-=-=-

Jifl
-- 
Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062
Maybe this world is another planet's Hell -Aldous Huxley || Opinions==mine



More information about the Ecos-discuss mailing list