From 4df1386eb00048c2db1f59fa0e4dd2a003652c25 Mon Sep 17 00:00:00 2001 From: Andrey Matyukov Date: Wed, 6 May 2020 17:13:02 +0000 Subject: doc: Update for upcoming 2.15 release Update release notes and documentation for 2.15 Signed-off-by: Andrey Matyukov Signed-off-by: Chang S. Bae --- doc/Makefile.in | 2 +- doc/changes.src | 68 ++++++++++++++++++++++++ doc/nasmdoc.src | 159 ++++++++++++++++++++++++++++++++++++++++++++++++-------- 3 files changed, 206 insertions(+), 23 deletions(-) diff --git a/doc/Makefile.in b/doc/Makefile.in index ba44b44a..a076300c 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -42,7 +42,7 @@ all: $(OUT) inslist.src: inslist.pl ../x86/insns.dat $(PERL) $(srcdir)/inslist.pl $(srcdir)/../x86/insns.dat -.PHONY: html +.PHONY: html nasmdoc.ps html: $(HTMLAUX) $(MKDIR) -p html for f in $(HTMLAUX); do $(CP_UF) "$(srcdir)/$$f" html/; done diff --git a/doc/changes.src b/doc/changes.src index eec64bca..84abcfd5 100644 --- a/doc/changes.src +++ b/doc/changes.src @@ -13,6 +13,74 @@ since 2007. \c{[WARNING PUSH]} and \c{[WARNING POP]} directives. See \k{asmdir-warning}. +\b The "sectalign on|off" switch does not affect an explicit directive. See +\k{sectalign} + +\b Added build option to enable building with profiling (--enable-profiling). + +\b Added support of long pathnames, up to 32767 of UTF-16 characters, on +Windows. + +\b Fixed 'mismatch in operand sizes' error in MOVDDUP instruction. + +\b Improved error messages in the string transformation routine. + +\b Removed obsolete '-gnu-elf-extensions' option and a warning about 8- and 16-bit relocation +generation. See \k{elf16} + +\b Added group aliases for all prefixed warnings. See \k{opt-w} + +\b Allowed building with MSVC versions older than 1700. + +\b Fixed to recognize a comma as a single-line macros argument +separator. + +\b Added implicitly sized versions of the K instructions, which allows the K +instructions to be specified without a size suffix as long as the operands are +sized. + +\b Added -L option for additional listing information. See \k{opt-L} + +\b Made an empty string usable as an unused argument in macros. See +\k{define}. + +\b Added warnings for obsolete instructions for a specified CPU. + +\b Deprecated \c{-hf} and \c{-y} options. Use \c{-h} instead. + +\b Made DWARF as the default debug format for ELF. + +\b Added a %pragma to set or clear listing options (%pragma list options +bempf). + +\b Allowed immediate syntax for LEA instruction (ignore operand size completely). + +\b Added limited functionality MASM compatibility package. See \k{pkg_masm}. + +\b Added support of macros aliases using %defalias, %idefalias. See \k{defalias}. + +\b Added support for stringify, nostrip, greedy single-line macro arguments. See \k{define}. + +\b Added conditional comma operator \c{%,}. See \k{cond-comma}. + +\b Changed private namespace from __foo__ to __?foo?__, so a user namespace starting from underscore +is now clean from symbols. + +\b Added support of ELF weak symbols and external references. See \k{elfglob}. + +\b Changed the behavior of the EXTERN keyword and introduced REQUIRED keyword. +See \k{required}. + +\b Added %ifusable and %ifusing directives. See \k{macropkg}. + +\b Made various performance improvements and stability fixes in macro +preprocessor engine. + +\b Improved NASM error handling and cleaned up error messages. + +\b Bugzilla bugfixes: 3392472, 3392554, 3392560, 3392564, 3392570, 3392576, 3392585, +3392590, 3392597, 3392599, 3392601, 3392602, 3392603, 3392607, 3392612, 3392614, 3392623, +3392626, 3392630, 3392640, 3392649, 3392659, 3392660, 3392661. + \S{cl-2.14.03} Version 2.14.03 \b Suppress nuisance "\c{label changed during code generation}" messages diff --git a/doc/nasmdoc.src b/doc/nasmdoc.src index 69ccbc9f..6c7b851a 100644 --- a/doc/nasmdoc.src +++ b/doc/nasmdoc.src @@ -53,6 +53,7 @@ \IR{-E} \c{-E} option \IR{-F} \c{-F} option \IR{-I} \c{-I} option +\IR{-L} \c{-L} option \IR{-M} \c{-M} option \IR{-MD} \c{-MD} option \IR{-MF} \c{-MF} option @@ -81,7 +82,6 @@ \IR{-Werror} \c{-Werror} option \IR{-Wno-error} \c{-Wno-error} option \IR{-w} \c{-w} option -\IR{-y} \c{-y} option \IR{-Z} \c{-Z} option \IR{!=} \c{!=} operator \IR{$, here} \c{$}, Here token @@ -171,6 +171,7 @@ in ELF \IR{elf64} \c{elf64} \IR{elfx32} \c{elfx32} \IR{executable and linkable format} Executable and Linkable Format +\IR{extern, elf extensions to} \c{EXTERN}, \c{elf} extensions to \IR{extern, obj extensions to} \c{EXTERN}, \c{obj} extensions to \IR{extern, rdf extensions to} \c{EXTERN}, \c{rdf} extensions to \IR{floating-point, constants} floating-point, constants @@ -372,9 +373,6 @@ To get further usage instructions from NASM, try typing The option \c{--help} is an alias for the \c{-h} option. -The option \c{-hf} will also list the available output file formats, -and what they are. - If you use Linux but aren't sure whether your system is \c{a.out} or ELF, type @@ -442,7 +440,7 @@ Like \c{-o}, the intervening space between \c{-f} and the output file format is optional; so \c{-f elf} and \c{-felf} are both valid. A complete list of the available output file formats can be given by -issuing the command \i\c{nasm -hf}. +issuing the command \i\c{nasm -h}. \S{opt-l} The \i\c{-l} Option: Generating a \i{Listing File} @@ -463,6 +461,30 @@ with \c{[list +]}, (the default, obviously). There is no "user form" (without the brackets). This can be used to list only sections of interest, avoiding excessively long listings. +\S{opt-L} The \i\c{-L} Option: Additional Listing Info + +Use this option to specify listing output details. + +Supported options are: + +\c{-Le} emit each line after processing through the preprocessor + +\c{-Ls} show all single-line macro definitions + +\c{-Lm} show multi-line macro calls with expanded parameters + +\c{-Lp} output a list file in every pass + +\c{-Ld} show byte and repeat counts in decimal, not hex + +\c{-Lb} show builtin macro packages + +\c{-Lf} ignore .nolist and force output + +\c{-Lw} flush the output after every line + +\c{-L+} enable all listing options + \S{opt-M} The \i\c{-M} Option: Generate \i{Makefile Dependencies} @@ -551,8 +573,8 @@ to enable output. Versions 2.03.01 and later automatically enable \c{-g} if \c{-F} is specified. A complete list of the available debug file formats for an output -format can be seen by issuing the command \c{nasm -f -y}. Not -all output formats currently support debugging output. See \k{opt-y}. +format can be seen by issuing the command \c{nasm -h}. Not +all output formats currently support debugging output. This should not be confused with the \c{-f dbg} output format option, see \k{dbgfmt}. @@ -818,6 +840,10 @@ The current \i{warning classes} are: \& warnings.src +Since version 2.15, NASM has group aliases for all prefixed warnings, +so they can be used to enable or disable all warnings in the group. +For example, -w+float enables all warnings with names starting with float-*. + Since version 2.00, NASM has also supported the \c{gcc}-like syntax \c{-Wwarning-class} and \c{-Wno-warning-class} instead of \c{-w+warning-class} and \c{-w-warning-class}, respectively; both @@ -845,19 +871,6 @@ You will need the version number if you report a bug. For command-line compatibility with Yasm, the form \i\c{--v} is also accepted for this option starting in NASM version 2.11.05. -\S{opt-y} The \i\c{-y} Option: Display Available Debug Info Formats - -Typing \c{nasm -f