Take the 2-minute tour ×

I'm running a 64bit kernel, already have CONFIG_IA32_EMULATION set, so do I still need CONFIG_IA32_AOUT enabled?

From the help in menuconfig, I don't quite get it.

share|improve this question
I guess the first one let's you run 32-bit ELF binaries; the second one adds support for (older) a.out executables. Both are executable file formats. –  sr_ May 11 '12 at 8:40
Linux used a.out until libc4. With libc5 (around 1996?), Linux moved to ELF. So unless you want to run some binaries from the mid-nineties, you are safe without a.out support. –  ninjalj May 12 '12 at 13:44

1 Answer 1

up vote 4 down vote accepted

Short answer:

If your system is a normal desktop/laptop and you don't run any really archaic software, you should be safe to disable CONFIG_IA32_AOUT. Keep CONFIG_IA32_EMULATION, as chances are that some of your binaries are still 32-bit.


There are two issues involved here: executable file formats and executing 32-bit code on a 64-bit system.

  • You can read about file formats on wikipedia and have a look at their comparison, but the most important information for you is that ELF is the current standard and a.out is its predecessor. It is very unlikely that you'll find any recent program in a form of an a.out binary (don't mistake file format with the default output name that compilers give to binaries - the latter typically is still a.out for historical reasons, in spite of the binaries being in ELF format).

  • If you have a 64-bit system, chances are that some of your programs are still 32-bit. This is much more probable than coming across an a.out binary.

To make it clear: binaries in both ELF and a.out format can be both 32- and 64-bit. These distinctions are separate (as you can see from the comparison).

share|improve this answer

Your Answer


