Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7956 Discussions

64 bit cross compilation for Linux

Daniel_B_Intel2
Employee
948 Views
Hi,

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
-Daniel
0 Kudos
8 Replies
TimP
Honored Contributor III
948 Views
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.
0 Kudos
Daniel_B_Intel2
Employee
948 Views
Hi,

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
Daniel
0 Kudos
TimP
Honored Contributor III
948 Views
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.
0 Kudos
Daniel_B_Intel2
Employee
947 Views
thank you very much for your hints!

I'll try to find something out and will share in this forum
-Daniel
0 Kudos
TimP
Honored Contributor III
948 Views
Correction: without binutils you would be able to make at most .s files, not .o.
0 Kudos
Ganesh_R_Intel
Employee
948 Views
dbricker,

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

Go here and navigate to Itanium early access.


Ganesh

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

0 Kudos
tsrmohan
Beginner
947 Views
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.

Regards,
Mohan
0 Kudos
Daniel_B_Intel2
Employee
948 Views
Mohan,

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

Daniel

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

0 Kudos
Reply