]> granicus.if.org Git - yasm/blob - yasm_objfmts.7
Add missing objfmt_x64 to CMakeLists.txt.
[yasm] / yasm_objfmts.7
1 '\" t
2 .\"     Title: yasm_objfmts
3 .\"    Author: Peter Johnson <peter@tortall.net>
4 .\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
5 .\"      Date: February 2007
6 .\"    Manual: Yasm Supported Object Formats
7 .\"    Source: Yasm
8 .\"  Language: English
9 .\"
10 .TH "YASM_OBJFMTS" "7" "February 2007" "Yasm" "Yasm Supported Object Formats"
11 .\" -----------------------------------------------------------------
12 .\" * Define some portability stuff
13 .\" -----------------------------------------------------------------
14 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15 .\" http://bugs.debian.org/507673
16 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
17 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18 .ie \n(.g .ds Aq \(aq
19 .el       .ds Aq '
20 .\" -----------------------------------------------------------------
21 .\" * set default formatting
22 .\" -----------------------------------------------------------------
23 .\" disable hyphenation
24 .nh
25 .\" disable justification (adjust text to left margin only)
26 .ad l
27 .\" -----------------------------------------------------------------
28 .\" * MAIN CONTENT STARTS HERE *
29 .\" -----------------------------------------------------------------
30 .SH "NAME"
31 yasm_objfmts \- Yasm Supported Object Formats
32 .SH "SYNOPSIS"
33 .HP \w'\fByasm\fR\ 'u
34 \fByasm\fR \fB\-f\ \fR\fB\fIobjfmt\fR\fR \fB\fI\&.\&.\&.\fR\fR
35 .SH "DESCRIPTION"
36 .PP
37 The standard Yasm distribution includes a number of modules for different object formats (Yasm\*(Aqs primary output)\&.
38 .PP
39 The object format is selected on the
40 \fByasm\fR(1)
41 command line by use of the
42 \fB\-f \fR\fB\fIobjfmt\fR\fR
43 command line option\&.
44 .SH "BIN"
45 .PP
46 The
47 \(lqbin\(rq
48 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\&.
49 .SH "COFF"
50 .PP
51 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\&.
52 .SH "DBG"
53 .PP
54 The
55 \(lqdbg\(rq
56 object format is not a
57 \(lqreal\(rq
58 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\*(Aqs particular binary representation)\&. This object format is not intended for real use, but rather for debugging Yasm\*(Aqs internals\&.
59 .SH "ELF"
60 .PP
61 The ELF object format really comes in three flavors:
62 \(lqelf32\(rq
63 (for 32\-bit targets),
64 \(lqelf64\(rq
65 (for 64\-bit targets and
66 \(lqelfx32\(rq
67 (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\&.
68 .SH "MACHO"
69 .PP
70 The Mach\-O object format really comes in two flavors:
71 \(lqmacho32\(rq
72 (for 32\-bit targets) and
73 \(lqmacho64\(rq
74 (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\&.
75 .SH "RDF"
76 .PP
77 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\&.
78 .SH "WIN32"
79 .PP
80 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\&.
81 .SH "WIN64"
82 .PP
83 The Win64 object format produces object files compatible with Microsoft compilers that target the 64\-bit
84 \(lqx64\(rq
85 Windows platform\&. This format is very similar to the win32 object format, but produces 64\-bit objects\&.
86 .SH "XDF"
87 .PP
88 The XDF object format is essentially a simplified version of COFF\&. It\*(Aqs a multi\-section relocatable format that supports 64\-bit physical and virtual addresses\&.
89 .SH "SEE ALSO"
90 .PP
91 \fByasm\fR(1),
92 \fByasm_arch\fR(7)
93 .SH "AUTHOR"
94 .PP
95 \fBPeter Johnson\fR <\&peter@tortall\&.net\&>
96 .RS 4
97 Author.
98 .RE
99 .SH "COPYRIGHT"
100 .br
101 Copyright \(co 2006 Peter Johnson
102 .br