When should -m32 option of gcc be used?

Jay picture Jay · Mar 11, 2010 · Viewed 37.9k times · Source

I am writing a program which if I compile on a Suse 10 32-bit system without adding the -m32 option and execute it on Suse 10 64-bit, it works fine.

In this case, is it not required for me to add the -m32 option?

Can we execute programs built on 32-bit systems directly on their 64-bit counterparts without any side-effects? Or are there any updates or changes required?

Answer

AProgrammer picture AProgrammer · Mar 11, 2010

There is no problems in running 32 bits executables on 64 bit OS (as long as 32 bit dynamic libraries are present and found).

-m32 is there to compile 32 bits objects on a compiler configured to compile 64 bits objects by default.