This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Help with Gcc-3.0.3 cross-compile


>Does that apply even if what I am trying to produce is a tools chain to be
>distributed in a "Development" environment that supports both IA32 and IA64?

I think this kind of thing is best left to the OS system vendors because it
can be very complicated.  I don't even try to do it myself.  I let the Red Hat
OS group build the toolchains and libraries for me.

Another thing, because IA-64 linux support is still so new, there is a very
good chance that trying to build your own compiler different from the system
compiler will fail, because of ABI incompatibilities.  This is going to be
a serious problem until we have a gcc 3.1 release and systems that use gcc 3.1
as the system compiler.  It may be OK with systems using gcc 3.0.2 and later
as the system compiler, but I am unsure.

>This is my goal, to provide a root-jail environment which developers can use
>to develop and validate code for both IA32 and IA64.

Validating IA-64 code on an IA-32 machine implies a simulator environment.
It would be much easier to use the HP IA-64 Linux Developer's Kit than to
create your own.

You should build the IA-32 and IA-64 environments separately, so make things
simpler.

>When I ran configure with --target=ia64-pc-linux-gnu
>--prefix=/home/cross-ia64, my intent was to build the include and lib that
>will be later used with gcc cross compile.
>I didn't think it was going to work, but sure enough, "make all" worked,
>didn't make sense, but I didn't question it.

Alexandre Oliva answered this.  The --target option is meaningless for glibc.
You need to use --host instead.

>So, if that's not the correct way to produce the headers and libs to be used
>with gcc cross compile, where do I get, or how do I build, the "target"
>headers and libs.  

You don't build them.  You create them by copying them from the target system.
Log into the target IA-64 system.  Run tar on /usr/include and /usr/lib.
Copy the tar file to the IA-32 host.  Untar.

If you need to build your own glibc for some reason, then what you are doing
is far too complicated for me to explain in email, mainly because I don't
know enough about how to do it.  See above where I said I let the system
vendors do this work for me.

>Last, does redhat or any other linux distributor provide such package?  A
>cross-ia64 development package that I can install in my redhat 7.1 for
>example and have both IA64 and IA32 tool chains?

HP has one, though I am not sure if the compiler in it is up-to-date.
http://www.software.hp.com/products/LIA64/overview2a.htm

Red Hat OS group does not distribute cross compilers that I am aware of.
The Red Hat tools group does for customers, and we did provide cross
compilers for the Trillian group for about a year and half, until IA-64
systems were working well enough that we didn't need cross compilers anymore.

It shouldn't be hard to build your own cross-compiler, as long as you only
build a cross-compiler, and don't try to build the entire world including
glibc.

Jim



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