a.out очень старый, мы говорим о ядре версии 1.2 linux.Предполагая, что вы работаете на любой недавно удаленной платформе Linux, вы по умолчанию генерируете исполняемые файлы elf.Используйте команду file
в выходном исполняемом файле для проверки.Например:
$ file server
server: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, not stripped