arm cross on cygwin
John Andrews
john@triscend.com
Sun Apr 1 00:00:00 GMT 2001
ÃÂ
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.
More information about the crossgcc
mailing list