You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
4.4 KiB
103 lines
4.4 KiB
'\" 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
|