IA64 cross compilation broken
Jim Wilson
wilson@cygnus.com
Wed Aug 2 13:56:00 GMT 2000
In article < 20000802133204Y.mitchell@codesourcery.com > you write:
>I can't seem to build a x86->ia64 cross compiler. I get:
>
> ../../gcc/libgcc2.h:99: no data type for mode `TI'
> ../../gcc/libgcc2.h:100: no data type for mode `TI'
I believe all cross compilation from 32-bit hosts to 64-bit targets is broken.
This is a consequence of two patches:
1) Kenner's patch to make the DImode routines in libgcc2.c do TImode
arithmetic for 64-bit targets (Apr 15).
1) John Anglin's change to disable TImode for 32-bit hosts (May 17).
This isn't an immediate problem for me, as I never build cross compilers to
IA-64 anymore, and I haven't had time to worry about it yet.
The IA-64 port doesn't have any 128-bit types, so we don't actually need any
TImode functions in libgcc2.c. But then the Alpha doesn't either as far as
I know. Maybe Kenner needed them for Ada?
At Red Hat, we have a configure hack that sets HOST_WIDE_INT to "long long" if
the host is a 32-bit machine, and the target is a 64-bit machine. That makes
the cross compilers work at the expense of getting bigger and slower cc1
binaries. I don't know if any other changes are required other than the
configure hack. Oh, it does require that you use gcc to compile the cross
compiler.
Jim
More information about the Gcc-bugs
mailing list