Linker
gcc
target
-m32
: i386:x64-32-mx32
: elf32_x86_64
ld
target:
-
elf_x86_64
: ELF for x64-32 -
elf32_x86_64
: ELF for x64-32, aka x32 — 32-bit x86-64 binaries -
elf_i386
: ELF for i386 — 32-bit i386 binaries -
i386linux
: a.out for i386 -
i386pep
: PE+ for x86-64 — Windows-format 64-bit binaries -
i386pe
: PE for i386 — Windows-format 32-bit binariesExtra info: x32(elf32_x86_64) is a 32bit executable format, that will only run on x86_64. It is intended to use the benefits of x86 64bit mode, but be smaller than 64bit code. All data types (except time), are same as in 32bit mode.