This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: IA64 cross compiler problem
- From: Co Ngai Fung <erico at alumni dot cuhk dot net>
- To: Jim Wilson <wilson at tuliptree dot org>
- Cc: gcc at gcc dot gnu dot org
- Date: Thu, 19 Jun 2003 15:28:34 +0800 (HKT)
- Subject: Re: IA64 cross compiler problem
Thanks for your detailed explaination. Actually I am trying
to build a cross compiler to linux. and I follow the instructions
from http://kegel.com/crosstool/, and i can successfully
build the compiler for gcc3.2.3+glibc2.2.5.
Thank you very much!
-fung
On Wed, 18 Jun 2003, Jim Wilson wrote:
> Co Ngai Fung wrote:
> > # /usr/crossgcc/ia64/bin/ia64-elf-gcc a.c
> > <command line>:1:13: warning: "machine" re-asserted
> > /usr/crossgcc/ia64/bin/../lib/gcc-lib/ia64-elf/3.2.3/../../../../ia64-elf/bin/ld: cannot open crt0.o: No such file or directory
> > collect2: ld returned 1 exit status
>
> I see you configured for ia64-elf. This is a non-working target. It
> was used for development in the early days before IA-64 hardware was
> available, and was mostly abandoned after that. If you really want a
> cross compiler for an embedded IA-64 target, then you will have to do
> some porting work. If you wanted a cross compiler to ia64-linux, then
> use that to configure instead of ia64-elf.
>
> You have no C library for the target, so you won't be able to compile
> any application programs. This is because the instructions you used are
> for a compiler with no C library. This would be useful for building OS
> kernels, but not useful for much else.
>
> If you are trying to build a cross compiler to an embedded target, then
> you can use newlib for the C library. This can easily be built in
> parallel with gcc. We have some instructions at
> http://gcc.gnu.org/simtest-howto.html
>
> If you are trying to build a cross compiler to linux, and if you have
> access to the target, you can copy /usr/lib and /usr/include to the
> host, and then configure using --with-headers= and --with-libs= pointing
> at the target headers and libraries respectively. This is the old way
> to do this. The new way is to use --with-sysroot. See the documentation.
>
> If you don't have access to the target, then you have to build gcc and
> glibc in parallel. This is complicated, and currently undocumented.
> Some good info can be found at
> http://kegel.com/crosstool/
> See the crosstools.sh script.
>
> Jim
>
--
--------------------------------
Co Ngai Fung
http://pig.myftp.org:8000
erico@alumni.cuhk.net
fafb0daa2487d3bc52356a535b10858c
--------------------------------