Table of Contents
The Executable and Linkable Object Format is the primary object format for many operating systems including FreeBSD or GNU/Linux. It appears in three forms:
Yasm only directly supports relocatable object files. Other tools, such as the GNU
Linker ld, help turn relocatable object
files into the other formats. Yasm supports generation of both 32-bit and 64-bit ELF
files, called elf32 and elf64.
A generic interface to both is also provided, elf, which
selects between elf32 and elf64
based on the target machine architecture (see Section 1.3.1.7).
Yasm defaults to BITS 32 mode when outputting to the
elf32 object format.
ELF supports two debugging formats: stabs (see Chapter 17) and dwarf2 (see Chapter 16). Different
debuggers understand these different formats; the newer debug format is dwarf2, so try that first.