From a6e25b53563fafac11fbeb4dee59f69c20b787fb Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" Date: Wed, 8 Jul 2009 21:32:28 -0700 Subject: [PATCH] Document macho64 output format At least mention the 64-bit macho format in the documentation. Signed-off-by: H. Peter Anvin --- doc/changes.src | 2 ++ doc/nasmdoc.src | 31 ++++++++++++++++++++----------- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/doc/changes.src b/doc/changes.src index 1920b5bf..4a15ae74 100644 --- a/doc/changes.src +++ b/doc/changes.src @@ -35,6 +35,8 @@ since 2007. \b Don't delete the list file on errors. Also, include error and warning information in the list file. +\b Support for 64-bit Mach-O output, see \k{machofmt}. + \S{cl-2.06} Version 2.06 diff --git a/doc/nasmdoc.src b/doc/nasmdoc.src index bda3b6f8..8ce3e3fa 100644 --- a/doc/nasmdoc.src +++ b/doc/nasmdoc.src @@ -159,6 +159,8 @@ in \c{elf} \IR{elf} ELF \IR{elf, 16-bit code and} ELF, 16-bit code and \IR{elf shared libraries} ELF, shared libraries +\IR{elf32} \c{elf32} +\IR{elf64} \c{elf64} \IR{executable and linkable format} Executable and Linkable Format \IR{extern, obj extensions to} \c{EXTERN}, \c{obj} extensions to \IR{extern, rdf extensions to} \c{EXTERN}, \c{rdf} extensions to @@ -183,6 +185,11 @@ convention \IR{logical and} logical AND \IR{logical or} logical OR \IR{logical xor} logical XOR +\IR{mach object file format} Mach, object file format +\IR{mach-o} Mach-O +\IR{macho32} \c{macho32} +\IR{macho64} \c{macho64} +\IR{macos x} MacOS X \IR{masm} MASM \IA{memory reference}{memory references} \IR{minix} Minix @@ -507,14 +514,15 @@ messages. NASM will normally choose the name of your output file for you; precisely how it does this is dependent on the object file format. -For Microsoft object file formats (\i\c{obj} and \i\c{win32}), it -will remove the \c{.asm} \i{extension} (or whatever extension you +For Microsoft object file formats (\c{obj}, \c{win32} and \c{win64}), +it will remove the \c{.asm} \i{extension} (or whatever extension you like to use - NASM doesn't care) from your source file name and -substitute \c{.obj}. For Unix object file formats (\i\c{aout}, -\i\c{coff}, \i\c{elf}, \i\c{macho} and \i\c{as86}) it will substitute \c{.o}. For -\i\c{rdf}, it will use \c{.rdf}, and for the \i\c{bin} format it -will simply remove the extension, so that \c{myfile.asm} produces -the output file \c{myfile}. +substitute \c{.obj}. For Unix object file formats (\c{aout}, \c{as86}, +\c{coff}, \c{elf32}, \c{elf64}, \c{ieee}, \c{macho32} and \c{macho64}) +it will substitute \c{.o}. For \c{dbg}, \c{rdf}, \c{ith} and \c{srec}, +it will use \c{.dbg}, \c{.rdf}, \c{.ith} and \c{.srec}, respectively, +and for the \c{bin} format it will simply remove the extension, so +that \c{myfile.asm} produces the output file \c{myfile}. If the output file already exists, NASM will overwrite it, unless it has the same name as the input file, in which case it will give a @@ -5365,14 +5373,15 @@ The \c{coff} format supports the same extensions to the \c{SECTION} directive as \c{win32} does, except that the \c{align} qualifier and the \c{info} section type are not supported. -\H{machofmt} \i\c{macho}: \i{Mach Object File Format} +\H{machofmt} \I{Mach-O}\i\c{macho32} and \i\c{macho64}: \i{Mach Object File Format} -The \c{macho} output type produces \c{Mach-O} object files suitable for -linking with the \i{Mac OSX} linker. +The \c{macho32} and \c{macho64} output formts produces \c{Mach-O} +object files suitable for linking with the \i{MacOS X} linker. +\i\c{macho} is a synonym for \c{macho32}. \c{macho} provides a default output file-name extension of \c{.o}. -\H{elffmt} \i\c{elf, elf32, and elf64}: \I{ELF}\I{linux, elf}\i{Executable and Linkable +\H{elffmt} \i\c{elf32} and \i\c{elf64}: \I{ELF}\I{linux, elf}\i{Executable and Linkable Format} Object Files The \c{elf32} and \c{elf64} output formats generate \c{ELF32 and ELF64} (Executable and Linkable Format) object files, as used by Linux as well as \i{Unix System V},