This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: arm cross on cygwin


 
Hi Cristian,
 
Man, I feel your pain, cygwin does stink.
 
I think if you run your gcc make with --save-temps and check out prefix.i you'll find in the line were this winnt.h defines a union element called Hint, that it gets changed to int and screws up the typedef.
 
The fix that worked for me was to change Hint to ARM_Hint in $SRC_ROOT/gcc-2.95.2/gcc/config/arm/arm.h and arm.c.
 
It seems to have something to do with the way the cygwin tools name mangle.
 
Hope that helps...
 
John E. A.
 
p.s. I'm guessing that's a typo for host=build=i686-pc-cygwin, and you really shouldn't have to call out build or host in any of the configure steps, it should figure it out on its own. Good Luck!
 
-----Original Message-----
From: Cristian Amitroaie [mailto:Cristian.Amitroaie@NOBUGCONSULTING.RO]
Sent: Monday, March 26, 2001 10:52 PM
To: crossgcc@sources.redhat.com
Subject: arm cross on cygwin

    I tried to do a cross on cygwin for arm:
 
    host=build=i686-pccygwin
    target=arm-coff
    src_root=/usr/local/src/gnu
    prefix=/usr/local/arm
 
    when doing:
 
mkdir -p $SRC_ROOT/BUILD/binutils
cd $SRC_ROOT/BUILD/binutils
$SRC_ROOT/binutils-2.10.1/configure --target=$TARGET --host=$HOST --build=$BUILD --prefix=$PREFIX -v
make > make.log 2>&1
make install > install.log 2>&1
 
export PATH=$PATH:$PREFIX/bin
$TARGET-ld --version
 
    I get:
 
$ $TARGET-ld --version
GNU ld 2.10.1
Copyright 2000 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License.  This program has absolutely no warranty.
  Supported emulations:
   armcoff
 
    That's ok (I think).
 
    Then:
 
mkdir -p $SRC_ROOT/BUILD/gcc
cd $SRC_ROOT/BUILD/gcc
$SRC_ROOT/gcc-2.95.2-6/configure --enable-languages=c --target=$TARGET --host=$HOST --build=$BUILD --with-newlib --prefix=$PREFIX -v
make LANGUAGES=c all-gcc > make.log 2>&1
    I get the following make error:
 
gcc -DCROSS_COMPILE -DIN_GCC     -g -O2  -DHAVE_CONFIG_H    -I. -I/usr/local/src/gnu/gcc-2.95.2-6/gcc -I/usr/local/src/gnu/gcc-2.95.2-6/gcc/config -I/usr/local/src/gnu/gcc-2.95.2-6/gcc/../include \
-DPREFIX=\"/usr/local/arm\" \
  -c `echo /usr/local/src/gnu/gcc-2.95.2-6/gcc/prefix.c | sed 's,^\./,,'`
In file included from /usr/include/w32api/windef.h:143,
                 from /usr/include/w32api/windows.h:96,
                 from /usr/local/src/gnu/gcc-2.95.2-6/gcc/prefix.c:70:
/usr/include/w32api/winnt.h:2266: two or more data types in declaration of `type name'
make[1]: *** [prefix.o] Error 1
make[1]: Leaving directory `/usr/local/src/gnu/BUILD/gcc/gcc'
make: *** [all-gcc] Error 2
 
    What seems to be the problem?
 
    As a matter of fact I'm trying to do a new port for a new controller. I started to see what works by now with gcc, but I couldn't get a cross.
I need a cross for a (simple) processor because I want to experiment with machine descriptions.
 
    Can anyone give me a hand?
 
    Thnx,
    Cristian A.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]