Provided by: yasm_1.3.0-2build1_amd64 bug


       yasm_objfmts - Yasm Supported Object Formats


       yasm -f objfmt ...


       The standard Yasm distribution includes a number of modules for different object formats
       (Yasm's primary output).

       The object format is selected on the yasm(1) command line by use of the -f objfmt command
       line option.


       The “bin” object format produces a flat-format, non-relocatable binary file. It is
       appropriate for producing DOS .COM executables or things like boot blocks. It supports
       only 3 sections and those sections are written in a predefined order to the output file.


       The COFF object format is an older relocatable object format used on older Unix and
       compatible systems, and also (more recently) on the DJGPP development system for DOS.


       The “dbg” object format is not a “real” object format; the output file it creates simply
       describes the sequence of calls made to it by Yasm and the final object and symbol table
       information in a human-readable text format (that in a normal object format would get
       processed into that object format's particular binary representation). This object format
       is not intended for real use, but rather for debugging Yasm's internals.


       The ELF object format really comes in three flavors: “elf32” (for 32-bit targets), “elf64”
       (for 64-bit targets and “elfx32” (for x32 targets). ELF is a standard object format in
       common use on modern Unix and compatible systems (e.g. Linux, FreeBSD). ELF has complex
       support for relocatable and shared objects.


       The Mach-O object format really comes in two flavors: “macho32” (for 32-bit targets) and
       “macho64” (for 64-bit targets). Mach-O is used as the object format on MacOS X. As Yasm
       currently only supports x86 and AMD64 instruction sets, it can only generate Mach-O
       objects for Intel-based Macs.


       The RDOFF2 object format is a simple multi-section format originally designed for NASM. It
       supports segment references but not WRT references. It was designed primarily for
       simplicity and has minimalistic headers for ease of loading and linking. A complete
       toolchain (linker, librarian, and loader) is distributed with NASM.


       The Win32 object format produces object files compatible with Microsoft compilers (such as
       Visual C++) that target the 32-bit x86 Windows platform. The object format itself is an
       extended version of COFF.


       The Win64 object format produces object files compatible with Microsoft compilers that
       target the 64-bit “x64” Windows platform. This format is very similar to the win32 object
       format, but produces 64-bit objects.


       The XDF object format is essentially a simplified version of COFF. It's a multi-section
       relocatable format that supports 64-bit physical and virtual addresses.


       yasm(1), yasm_arch(7)


       Peter Johnson <>


       Copyright © 2006 Peter Johnson