views:

229

answers:

3

Hi,

I know you can compile to a 32 bit target on 64 bit Linux by using the -m32 flag, but is it also possible to compile to 64 bit on a 32 bit machine by using the -m64 flag?

Or alternatively, do you need to set up a cross gcc tool chain that supports 64 bit targets and is this possible on a 32 bit machine?

Regards, Johan

+1  A: 

Yes, this should be possible. It's certainly possible on Mac OS X, where Apple's gcc toolchain supports x86, x86-64, ppc and ppc64, and you can compile for all 4 targets from a development machine that is 32 bit or 64 bit.

Paul R
A: 

You'd need to set up a cross compiler. And don't bother. Just run a 64-bit VM instead. You can run 64-bit VMs on a 32-bit host OS provided the CPU supports it (which it will, unless it's ancient).

MarkR
+2  A: 

As MarkR said, it will be a lot easier to run a 64-bit VM and build from there. Otherwise, yes, you will need to build a gcc cross toolchain.

Good ressources for building a gcc cross toolchain :

Laurent Parenteau