[nasm:nasm-2.16.xx] doc: release notes for 2.16.02

nasm-bot for H. Peter Anvin hpa at zytor.com
Thu Apr 4 13:00:10 PDT 2024


Commit-ID:  e55c571af4d95717a8c4938282299e35a65bafe2
Gitweb:     http://repo.or.cz/w/nasm.git?a=commitdiff;h=e55c571af4d95717a8c4938282299e35a65bafe2
Author:     H. Peter Anvin <hpa at zytor.com>
AuthorDate: Thu, 4 Apr 2024 12:56:43 -0700
Committer:  H. Peter Anvin <hpa at zytor.com>
CommitDate: Thu, 4 Apr 2024 12:56:43 -0700

doc: release notes for 2.16.02

Release notes for 2.16.02 to prepare for imminent release.


---
 doc/changes.src | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 84 insertions(+), 3 deletions(-)

diff --git a/doc/changes.src b/doc/changes.src
index 05527bf2..7181c000 100644
--- a/doc/changes.src
+++ b/doc/changes.src
@@ -12,7 +12,88 @@ since 2007.
 \b Fix building from the source distribution in a separate directory
 from the source.
 
-\b Update broken \c{autoconf} macros.
+\b Fix a number of issues when building from source, mostly involving
+\c{configure} or dependency generation.
+
+\> In particular, more aggressively avoid cross-compilation problems
+on Unix/Linux systems automatically invoking WINE. We could end up
+invoking WINE even when we didn't want to, making \c{configure} think
+it was running native when in fact cross-compiling.
+
+\b Hopefully fix compiling with the latest versions of MSVC/nmake.
+
+\b Windows host: add embedded manifest file. Without a manifest,
+Windows applications force a fixed \c{PATH_MAX} limit to any pathname;
+this is unnecessary.
+
+\b Add support VEX-encoded SM4-NI instructions.
+
+\b Add support for VEX-encoded SM3-NI instructions.
+
+\b Add support for VEX-encoded SHA512-NI instructions.
+
+\b \c{PTWRITE} opcode corrected (\c{F3} prefix required.)
+
+\b Disassembler: the SMAP instructions are \c{NP}; notably the
+prefixed versions of \c{CLAC} are \c{ERETU}/\c{ERETS}.
+
+\b Add support for Flexible Return and Exception Delivery (FRED): the
+\c{LKGS}, \c{ERETS} and \c{ERETU} instructions.
+
+\b Fix external references to segments in the \c{obj} (OMF) and
+possibly other output formats.
+
+\b Always support up to 8 characters, i.e. 64 bits, in a
+string-to-numeric conversion.
+
+\b Preprocessor: add \c{%map()} function to expand a macro from a list of
+arguments, see \k{f_map}.
+
+\b Preprocessor: allow the user to specify the desired radix for an
+evaluated parameter. It doesn't make any direct difference, but can be
+nice for debugging or turning into strings. See the \c{=} modifier in
+\k{define}.
+
+\b Update documentation: \c{__USE_}\e{package}\c{__} is now
+\c{__?USE_}\e{package}\c{?__}.
+
+\b Documentation: correct a minor problem in the expression grammar
+for \c{D}\e{x} statements, see \k{db}.
+
+\b Preprocessor: correctly handle empty \c{%rep} blocks.
+
+\b Preprocessor: add options for a base prefix to \c{%num()}, see \k{f_num}.
+
+\b Preprocessor: add a \c{%hex()} function, equivalent to \c{%eval()}
+except that it producess hexadecimal values that are nevertheless
+valid NASM numeric constants, see \k{f_hex}.
+
+\b Preprocessor: fix the parameter number in error messages (should be
+1-based, like \c{%}\e{num} references to multi-line macro arguments.)
+
+\b Documentation: be more clear than the \c{bin} format is simply a
+linker built into NASM. See \k{binfmt}.
+
+\b Adjust the \c{LOCK} prefix warning for \c{XCHG}.
+
+\> \c{LOCK XCHG }\e{reg}\c{,}\e{mem} would issue a warning for being
+unlockable, which is incorrect. In this case the \e{reg}\c{,}\e{mem}
+encoding is simply an alias for the \e{mem}\c{,}\e{reg} encoding. However,
+\c{XCHG} is \e{always} locked, so create a new warning
+(\c{-w+prefix-lock-xchg}) to explicitly flag a user-specified \c{LOCK
+XCHG}; default off. Future versions of NASM may remove the \c{LOCK}
+prefix when optimization is enabled.
+
+\b Fix broken dependency-list generation.
+
+\b Add optional warnings for specific relocation types
+(\c{-w+reloc-*}, see \k{warnings}), default off.
+
+\> Some target environments may have specific restrictions on what
+kinds of relocations are possible or allowed.
+
+\b Error out on certain bad syntax in \c{D}\e{x} statements, such as
+\c{db 1 2}. See \k{db}.
 
 \S{cl-2.16.01} Version 2.16.01
 
@@ -146,7 +227,7 @@ operation size (e.g. \c{movsd qword [eax],xmm0}).
 \b The \c{-L+} option no longer enables \c{-Lw}, which is mainly
 useful to debug NASM crashes. See \k{opt-L}.
 
-\b Document long-standing hazards in the use of \c{$} in \c{Dx}
+\b Document long-standing hazards in the use of \c{$} in \c{D}\e{x}
 statements, see \k{db}.
 
 \b The NASM-only RDOFF output format backend, which has been broken
@@ -551,7 +632,7 @@ files. See \k{opt-keep-all}.
 \b Fix the \c{\{z\}} decorator on AVX-512 \c{VMOVDQ*} instructions.
 
 \b Add new warnings for certain dangerous constructs which never ought
-   to have been allowed.  In particular, the \c{RESB} family of
+   to have been allowed.  In particular, the \c{RES}\e{x} family of
    instructions should have been taking a critical expression all
    along.
 


More information about the Nasm-commits mailing list