summaryrefslogtreecommitdiff
path: root/share/man/man7/yasm_objfmts.7
diff options
context:
space:
mode:
Diffstat (limited to 'share/man/man7/yasm_objfmts.7')
-rw-r--r--share/man/man7/yasm_objfmts.7102
1 files changed, 102 insertions, 0 deletions
diff --git a/share/man/man7/yasm_objfmts.7 b/share/man/man7/yasm_objfmts.7
new file mode 100644
index 0000000..bc64986
--- /dev/null
+++ b/share/man/man7/yasm_objfmts.7
@@ -0,0 +1,102 @@
+'\" t
+.\" Title: yasm_objfmts
+.\" Author: Peter Johnson <peter@tortall.net>
+.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
+.\" Date: February 2007
+.\" Manual: Yasm Supported Object Formats
+.\" Source: Yasm
+.\" Language: English
+.\"
+.TH "YASM_OBJFMTS" "7" "February 2007" "Yasm" "Yasm Supported Object Formats"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+yasm_objfmts \- Yasm Supported Object Formats
+.SH "SYNOPSIS"
+.HP \w'\fByasm\fR\ 'u
+\fByasm\fR \fB\-f\ \fR\fB\fIobjfmt\fR\fR \fB\fI\&.\&.\&.\fR\fR
+.SH "DESCRIPTION"
+.PP
+The standard Yasm distribution includes a number of modules for different object formats (Yasm\*(Aqs primary output)\&.
+.PP
+The object format is selected on the
+\fByasm\fR(1)
+command line by use of the
+\fB\-f \fR\fB\fIobjfmt\fR\fR
+command line option\&.
+.SH "BIN"
+.PP
+The
+\(lqbin\(rq
+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\&.
+.SH "COFF"
+.PP
+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\&.
+.SH "DBG"
+.PP
+The
+\(lqdbg\(rq
+object format is not a
+\(lqreal\(rq
+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\&.
+.SH "ELF"
+.PP
+The ELF object format really comes in three flavors:
+\(lqelf32\(rq
+(for 32\-bit targets),
+\(lqelf64\(rq
+(for 64\-bit targets and
+\(lqelfx32\(rq
+(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\&.
+.SH "MACHO"
+.PP
+The Mach\-O object format really comes in two flavors:
+\(lqmacho32\(rq
+(for 32\-bit targets) and
+\(lqmacho64\(rq
+(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\&.
+.SH "RDF"
+.PP
+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\&.
+.SH "WIN32"
+.PP
+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\&.
+.SH "WIN64"
+.PP
+The Win64 object format produces object files compatible with Microsoft compilers that target the 64\-bit
+\(lqx64\(rq
+Windows platform\&. This format is very similar to the win32 object format, but produces 64\-bit objects\&.
+.SH "XDF"
+.PP
+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\&.
+.SH "SEE ALSO"
+.PP
+\fByasm\fR(1),
+\fByasm_arch\fR(7)
+.SH "AUTHOR"
+.PP
+\fBPeter Johnson\fR <\&peter@tortall\&.net\&>
+.RS 4
+Author.
+.RE
+.SH "COPYRIGHT"
+.br
+Copyright \(co 2006 Peter Johnson
+.br