This chapter describes the coff output module which can be
selected with the @option{-Fcoff} option.

@section Legal

    This module is written in 2025 by Jean-Paul Mari and
    is covered by the vasm copyright without modifications.

@section Additional options for this module
 
@table @option
    @item -fmagic=<magic id>
        Sets the magic field of the coff header to an unsigned 16 bits
		value. The magic default is based on the CPU= define used.
@end table

@section General

This output module emits the @code{coff} (assembler output)
format, which is a format for executable, object code,
and shared library computer files used on Unix like systems.
It was introduced in Unix System V, replaced the previously used a.out format.

@section Restrictions

The @code{coff} output format, as implemented in vasm, currently supports
the following architectures:

@itemize @minus
@item arm
@item m68k
@item ppc
@item x86
@end itemize

@section Known Problems

    Some known problems of this module at the moment:

@itemize @minus
@item The debug information is not supported.
@item The section's names must fit on 8 characters.
@item The BSS section is saved in the object file.
@end itemize

@section Error Messages

This module has the following error messages:

@itemize @minus
@item 3002: output module doesn't support cpu %s
@item 3005: reloc type <m>, size <n>, mask <mask> (symbol <sym> + <offset>) not supported
@end itemize
