YASM_OBJFMTS(7) Yasm Supported Object Formats YASM_OBJFMTS(7)NAME
yasm_objfmts - Yasm Supported Object Formats
SYNOPSIS
yasm -f objfmt ...
DESCRIPTION
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.
BIN
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.
COFF
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.
DBG
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.
ELF
The ELF object format really comes in two flavors: "elf32" (for 32-bit targets) and "elf64" (for 64-bit 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.
MACHO
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.
RDF
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.
WIN32
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.
WIN64
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.
XDF
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.
SEE ALSO yasm(1), yasm_arch(7)AUTHOR
Peter Johnson <peter@tortall.net>
Author.
COPYRIGHT
Copyright (C) 2006 Peter Johnson
Yasm February 2007 YASM_OBJFMTS(7)
Check Out this Related Man Page
mcs(1) User Commands mcs(1)NAME
mcs - manipulate the comment section of an object file
SYNOPSIS
mcs [-cdpVz] [-a string] [-n name] file...
DESCRIPTION
The mcs command is used to manipulate a section, by default the .comment section, in an ELF object file. It is used to add to, delete,
print, and compress the contents of a section in an ELF object file, and print only the contents of a section in a COFF object file. mcs
cannot add, delete, or compress the contents of a section that is contained within a segment.
If the input file is an archive (see ar.h(3HEAD)), the archive is treated as a set of individual files. For example, if the -a option is
specified, the string is appended to the comment section of each ELF object file in the archive; if the archive member is not an ELF object
file, then it is left unchanged.
mcs must be given one or more of the options described below. It applies, in order, each of the specified options to each file.
OPTIONS
The following options are supported:
-a string Appends string to the comment section of the ELF object files. If string contains embedded blanks, it must be enclosed in
quotation marks.
-c Compresses the contents of the comment section of the ELF object files. All duplicate entries are removed. The ordering of
the remaining entries is not disturbed.
-d Deletes the contents of the comment section from the ELF object files. The section header for the comment section is also
removed.
-n name Specifies the name of the comment section to access if other than .comment. By default, mcs deals with the section named
.comment. This option can be used to specify another section. mcs can take multiple -n options to allow for specification
of multiple section comments.
-p Prints the contents of the comment section on the standard output. Each section printed is tagged by the name of the file
from which it was extracted, using the format file[member_name]: for archive files and file: for other files.
-V Prints on standard error the version number of mcs.
-z Replaces any SHT_PROGBITS sections with zeros while retaining the original attributes of the sections.
EXAMPLES
Example 1: Printing a file's comment section
The following entry
example% mcs -p elf.file
prints the comment section of the file elf.file.
Example 2: Appending a string to a comment section
The following entry
example% mcs -a xyz elf.file
appends string xyz to elf.file's comment section.
FILES
/tmp/mcs* temporary files
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWbtool |
+-----------------------------+-----------------------------+
|Interface Stability |Stable |
+-----------------------------+-----------------------------+
SEE ALSO ar(1), as(1), ld(1), ar.h(3HEAD), elf(3ELF), tmpnam(3C), a.out(4), attributes(5)NOTES
When mcs deletes a section using the -d option, it tries to bind together sections of type SHT_REL and target sections pointed to by the
sh_info section header field. If one is to be deleted, mcs attempts to delete the other of the pair.
By using the -z option, it is possible to make an object file by removing the contents of SHT_PROGBITS sections while retaining the object
file's original structure as an ELF file. The need for use of the -z option is limited. However, the option can be used to deliver an
object file when the contents of SHT_PROGBITS sections are not relevant.
SunOS 5.10 1 Apr 2004 mcs(1)