Popular Posts

Sunday, April 13, 2008

Compiling 32-bit Applications on 64-bit Linux Hosts

You need to install the gcc-mutlilib package. Then:
$ gcc -o hello -m32 hello.c

the -m32 flag tells the compiler to target the 32-bit architecture instead of the 64-bit architecture

Also, you may need to take a look at this looooooong discussion:
http://ubuntuforums.org/showthread.php?t=24575

For kernel compiling, you will need to explicitly specify the architecture:

$ make ARCH=i386 menuconfig

$ make ARCH=i386 bzImage

Happy compiling :)

*** Returning to this issue with Makefiles

just run:

$make CFLAGS=-m32 LDFLAGS=-m32

this adds the -m32 option to both the compiler flags and the linker flags

No comments: