1YASM_OBJFMTS(7) Yasm Supported Object Formats YASM_OBJFMTS(7)
2
3
4
6 yasm_objfmts - Yasm Supported Object Formats
7
9 yasm -f objfmt ...
10
12 The standard Yasm distribution includes a number of modules for
13 different object formats (Yasm's primary output).
14
15 The object format is selected on the yasm(1) command line by use of the
16 -f objfmt command line option.
17
19 The “bin” object format produces a flat-format, non-relocatable binary
20 file. It is appropriate for producing DOS .COM executables or things
21 like boot blocks. It supports only 3 sections and those sections are
22 written in a predefined order to the output file.
23
25 The COFF object format is an older relocatable object format used on
26 older Unix and compatible systems, and also (more recently) on the
27 DJGPP development system for DOS.
28
30 The “dbg” object format is not a “real” object format; the output file
31 it creates simply describes the sequence of calls made to it by Yasm
32 and the final object and symbol table information in a human-readable
33 text format (that in a normal object format would get processed into
34 that object format's particular binary representation). This object
35 format is not intended for real use, but rather for debugging Yasm's
36 internals.
37
39 The ELF object format really comes in three flavors: “elf32” (for
40 32-bit targets), “elf64” (for 64-bit targets and “elfx32” (for x32
41 targets). ELF is a standard object format in common use on modern Unix
42 and compatible systems (e.g. Linux, FreeBSD). ELF has complex support
43 for relocatable and shared objects.
44
46 The Mach-O object format really comes in two flavors: “macho32” (for
47 32-bit targets) and “macho64” (for 64-bit targets). Mach-O is used as
48 the object format on MacOS X. As Yasm currently only supports x86 and
49 AMD64 instruction sets, it can only generate Mach-O objects for
50 Intel-based Macs.
51
53 The RDOFF2 object format is a simple multi-section format originally
54 designed for NASM. It supports segment references but not WRT
55 references. It was designed primarily for simplicity and has
56 minimalistic headers for ease of loading and linking. A complete
57 toolchain (linker, librarian, and loader) is distributed with NASM.
58
60 The Win32 object format produces object files compatible with Microsoft
61 compilers (such as Visual C++) that target the 32-bit x86 Windows
62 platform. The object format itself is an extended version of COFF.
63
65 The Win64 object format produces object files compatible with Microsoft
66 compilers that target the 64-bit “x64” Windows platform. This format is
67 very similar to the win32 object format, but produces 64-bit objects.
68
70 The XDF object format is essentially a simplified version of COFF. It's
71 a multi-section relocatable format that supports 64-bit physical and
72 virtual addresses.
73
75 yasm(1), yasm_arch(7)
76
78 Peter Johnson <peter@tortall.net>
79 Author.
80
82 Copyright © 2006 Peter Johnson
83
84
85
86Yasm February 2007 YASM_OBJFMTS(7)