This chapter describes the ELF output module which can be selected with the -Felf option.

Legal
=====

This module is written in 2002-2016 by Frank Wille and is covered by the vasm copyright without modifications.

Additional options for this module
==================================

-keepempty
     Do not delete empty sections without any symbol definition.

General
=======

This output module outputs the ELF (Executable and Linkable Format) format, which is a portable object file format and works for a variety of 32- and 64-bit operating systems.

Restrictions
============

The ELF output format, as implemented in vasm, currently supports the following architectures:

  - ARM

  - i386

  - Jaguar RISC

  - M68k, ColdFire

  - PowerPC

  - x86_64

The supported relocation types depend on the selected architecture.

Known Problems
==============

Some known problems of this module at the moment:

  - None.

Error Messages
==============

This module has the following error messages:

  - 3002: output module doesn't support cpu <name>

  - 3003: write error

  - 3005: reloc type <m>, size <n>, mask <mask> (symbol <sym> + <offset>) not supported

  - 3006: reloc type <n> not supported

  - 3010: section <%s>: alignment padding (%lu) not a multiple of %lu at 0x%llx