64 bit cross compilation for Linux

64 bit cross compilation for Linux


By "64 bit cross compilation" I mean the compilation made on the system with 32 bit hardware (like Pentium) that produces the native 64 bit code, ready to run on 64 bit hardware (Like Itanium II)

E.g. both MS and Intel compilers support this feature on Windows environment. We build our product for Itanium II based MS WinXP 64 bit systems fully on inexpensive 32 bit Pentium machines.

We are currently moving our product to Itanium 2 Linux based platform.

We are using gcc 3.2.3 on Itanium II (which are very expensive!!!) to build, because we are not aware of "cross compilation" features of gcc.
By the way is it true?

My question is whether Intel's C++ compiler for Linux 64 bit supports "cross compilation"? I.e 64 bit modules can be fully generated on Linux 32 systems.

I'll appreciate very much your advice and experience

9 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

The Intel compilers for linux-ia64 were cross compilers at one time. There were surveys taken, and my understanding was there was a much higher level of demand for native compilers.

With gcc, you should be able to build a cross compiler. You will find a few hints on this in archives of gcc newsgroups, and in the general gcc cross compiler FAQ. Few people have been motivated to do this.


Thank you for your answer.

Do you mean that the "cross" ability was dropped form Intel compiler for Linux 64, because of low demand?

Rather strange! It should be very cost effective to build on low cost 32 systems.

Regarding the gcc, can you kindly post the links to the forums/archives you mentioned?

Thank you very much

The QA testing effort might be doubled by testing both cross and native compilers, and it seems unlikely that the cross compiler demand would justify the additional effort.

I would hope that the search engine at http://gcc.gnu.org/ could be made to cough up the jewels you desire. A Google search for cross-gcc ia64 may give some interesting hits. At the moment, I haven't located the primary generic instructions for cross-gcc builds.

At the very least, in order to make .o files, you would need to copy /usr/include/ from an ia64 box to the gcc target build directory on your 386 box. In order to link on the 386 box, you would need to build a cross binutils. You could become an expert reference for this forum.

thank you very much for your hints!

I'll try to find something out and will share in this forum

Correction: without binutils you would be able to make at most .s files, not .o.


Have you explored the early access program to get economical access the Itanium platform?

Go here and navigate to Itanium early access.


Message Edited by intel.software.network.support on 12-09-2005 10:46 AM

Hello Daniel,

You have said that you are able to build your product for WinXP 64 bit systems on 32 bit pentium machines. We are also currently trying to achieve the same. It will be of great help if you can tell us what compiler you are using to build 64 bit executables on 32 bit machines and how to go about doing this.



Please see my reply in 64 bit compilation on 32 bit Intel machines


Message Edited by intel.software.network.support on 12-09-2005 10:00 AM

Leave a Comment

Please sign in to add a comment. Not a member? Join today